Como tornar o nome da tabela MySQL insensível a maiúsculas e minúsculas no Ubuntu?

44

Estou usando o Ubuntu 13.10 e o MySQL 5.6 e sei que o nome do banco de dados e o nome da tabela diferenciam maiúsculas de minúsculas no Ubuntu (e em outros ambientes * nix) por padrão.

Agora, quero fazer o MySQL funcionar como caso não diferencia no Ubuntu.

É possível? Se sim, como posso fazer isso?

Ali Razeghi
fonte

Respostas:

51

Abra o terminal e edite /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

Abaixo da [mysqld]section.add:

lower_case_table_names = 1

Reinicie o mysql

sudo /etc/init.d/mysql restart

Então verifique aqui:

mysqladmin -u root -p variables
Rajneesh Sharma
fonte
2
Você precisa adicionar esta seção se ela não estiver disponível. Caso contrário, a reinicialização falhará.
alexander
10

Se você alterar lower_case_table_namesum banco de dados com tabelas existentes, o MySQL> Table não existe. Mas acontece (ou deveria) pode acontecer.

O comentário a esta resposta me ajudou neste caso:

Reverti o valor, reiniciei o banco de dados, exportei as tabelas, retornei o valor para 1, reiniciei o banco de dados, reimportei as tabelas e tudo funcionou novamente.

G.Broser diz Restabelecer Monica
fonte
5

Esse problema estava causando problemas para mim, onde o Doctrine gerou nomes de tabela com capital / CamelCase e o MySQL os armazenou como minúsculas!

Foi resolvido alterando my.cnfe adicionando

lower_case_table_names = 1

sob a seção [mysqld]

my.cnf pode ser encontrado:

  • sob LAMPP / XAMPP ...:

    /opt/lampp/etc/my.cnf

  • servidor mysql independente:

    /etc/mysql/my.cnf

Depois reinicie o servidor MySQL, e tudo ficará bem.

Abdied Allah Doried
fonte