Jak sprawić, by nazwa tabeli MySQL nie uwzględniała wielkości liter w Ubuntu?

44

Używam Ubuntu 13.10 i MySQL 5.6 i wiem, że nazwa bazy danych i nazwa tabeli domyślnie uwzględniają wielkość liter w Ubuntu (i niektórych innych środowiskach * nix).

Teraz chcę, aby MySQL działał w Ubuntu bez rozróżniania wielkości liter .

Czy to możliwe? Jeśli tak, jak mogę to zrobić?

Ali Razeghi
źródło

Odpowiedzi:

51

Otwórz terminal i edytuj /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

Pod [mysqld]sekcją. Dodaj:

lower_case_table_names = 1

Uruchom ponownie mysql

sudo /etc/init.d/mysql restart

Następnie sprawdź tutaj:

mysqladmin -u root -p variables
Rajneesh Sharma
źródło
2
Musisz dodać tę sekcję, jeśli nie jest dostępna. W przeciwnym razie restart się nie powiedzie.
Alexander
10

Jeśli zmienisz lower_case_table_namesw DB z istniejącymi tabelami MySQL> Tabela nie istnieje. Ale tak się dzieje (lub powinno) się zdarzyć.

Komentarz do tej odpowiedzi pomógł mi w tym przypadku:

Cofnąłem wartość, zrestartowałem bazę danych, wyeksportowałem tabele, ustawiłem wartość z powrotem na 1, zrestartowałem bazę danych, ponownie zaimportowałem tabele i wszystko działało ponownie.

G.Broser mówi: Przywróć Monikę
źródło
5

Ten problem sprawił mi ból, gdy Doctrine wygenerował nazwy tabel kapitałowych / CamelCase, a MySQL zapisał je małymi literami!

Zostało to rozwiązane poprzez zmianę my.cnfi dodanie

lower_case_table_names = 1

w sekcji [mysqld]

my.cnf można znaleźć:

  • w ramach LAMPP / XAMPP ...:

    /opt/lampp/etc/my.cnf

  • samodzielny serwer mysql:

    /etc/mysql/my.cnf

Następnie zrestartuj serwer MySQL i wszystko będzie dobrze.

Doried Abd-Allah
źródło