Cum se face ca numele de tabel MySQL să fie insensibil la majuscule și minuscule în Ubuntu? (Administrarea bazelor de date, Mysql, Linux, Ubuntu, Mysql Workbench)

java baba a intrebat.

Folosesc Ubuntu 13.10 și MySQL 5.6 și știu că numele bazei de date și numele tabelului sunt sensibile la majuscule și minuscule în Ubuntu (și în alte câteva medii *nix) în mod implicit.

Acum, vreau să fac ca MySQL să funcționeze ca insensibil la majuscule și minuscule în Ubuntu.

Este posibil acest lucru? Dacă da, cum pot face acest lucru?

3 răspunsuri
Rajneesh Sharma

Deschideți terminalul și editați /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

Sub [mysqld] section.add:

lower_case_table_names = 1

Reporniți mysql

sudo /etc/init.d/mysql restart

Apoi verificați aici:

mysqladmin -u root -p variables

Comentarii

  • Trebuie să adăugați această secțiune dacă nu este disponibilă. În caz contrar, repornirea va eșua. –  > Por alexander.
  • Din păcate, acest lucru nu mai funcționează cu MySQL 8.0. Trebuie să fie setată înainte de inițializare. –  > Por Thomas.
Gerold Broser

Dacă modificați lower_case_table_names într-o BD cu tabele existente Stack Overflow: MySQL > Tabelul nu există. Dar se poate întâmpla (sau ar trebui să se întâmple).

Comentariul la acest răspuns m-a ajutat în acest caz:

Am anulat valoarea, am repornit baza de date, am exportat tabelele, am setat din nou valoarea la 1, am repornit baza de date, am reimportat tabelele și totul a funcționat din nou.

Comentarii

  • Mi s-a întâmplat și mie și nu știam că am o frecvență cardiacă maximă de 197 bpm 😉 –  > Por Sal.
Doried Abd-Allah

Această problemă îmi provoca dureri, în care Doctrine genera nume de tabele cu majuscule/majuscule, iar MySQL le stoca cu minuscule!

A fost rezolvată prin schimbarea my.cnf și adăugând

lower_case_table_names = 1

sub secțiunea [mysqld]

my.cnf poate fi găsit:

  • sub LAMPP/XAMPP… :

    /opt/lampp/etc/my.cnf

  • server mysql independent :

    /etc/mysql/my.cnf

După aceea, reporniți serverul MySQL și totul va fi în regulă.