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?
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
- 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.
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.
- Mi s-a întâmplat și mie și nu știam că am o frecvență cardiacă maximă de 197 bpm 😉 – > .
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ă.