Comment rendre le nom de table MySQL insensible à la casse dans Ubuntu?

44

J'utilise Ubuntu 13.10 et MySQL 5.6 et je sais que le nom de la base de données et le nom de la table sont sensibles à la casse dans Ubuntu (et dans certains autres environnements * nix) par défaut.

Maintenant, je veux que MySQL respecte la casse dans Ubuntu.

C'est possible? Si oui, comment puis-je le faire?

Ali Razeghi
la source

Réponses:

51

Ouvrir le terminal et éditer /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

Sous la [mysqld]section.add:

lower_case_table_names = 1

Redémarrer mysql

sudo /etc/init.d/mysql restart

Alors vérifie-le ici:

mysqladmin -u root -p variables
Rajneesh Sharma
la source
2
Vous devez ajouter cette section si elle n'est pas disponible. Sinon, le redémarrage échouera.
Alexandre
10

Si vous modifiez lower_case_table_namesune base de données avec des tables existantes, MySQL> Table n'existe pas. Mais cela peut (ou cela devrait) arriver.

Le commentaire de cette réponse m'a aidé dans ce cas:

J'ai rétabli la valeur, redémarré la base de données, exporté les tables, redéfini la valeur sur 1, redémarré la base de données, réimporté les tables et tout a fonctionné à nouveau.

G.Broser dit Réintégrer Monica
la source
5

Ce problème me causait de la douleur, où Doctrine générait les noms de table capital / CamelCase et que MySQL les stockait en minuscule!

Il a été résolu en changeant my.cnfet en ajoutant

lower_case_table_names = 1

dans la section [mysqld]

my.cnf peut être trouvé:

  • sous LAMPP / XAMPP ...:

    /opt/lampp/etc/my.cnf

  • serveur mysql autonome:

    /etc/mysql/my.cnf

Ensuite, redémarrez le serveur MySQL et tout ira bien.

Doried Abd-Allah
la source