Configurando lower_case_table_names no MySQL 8.x.x

Configurando lower_case_table_names no MySQL 8.x.x

O Linux em todas suas distribuições é case sensitive quer dizer? O Linux faz diferença de maiúsculas e minúsculas para tudo, pastas, arquivos etc.

Muitos desenvolvedores de softwares não tem o cuidado de escrever seus SQL (Linguagem de consulta estruturada) conforme a documentação do Banco de Dados criado por seu DBA (Administrador de Banco de Dados), com isso depara com erros por exemplo “table doesn’t exist “ quer dizer no banco de dados a tabela chama produtos e o desenvolvedor escreveu em seu SQL Produtos ou PRODUTOS quer dizer que não existe o que foi digitado não existe a tabela Produtos e sim produtos. 

O MySQL nos permite desabilitar o case sensitive para não diferenciar mais os nomes de seus bancos de dados e de suas tabelas.

Vamos ajustar nosso MySQL 8x.  

1- Pare o serviço MySQL:

sudo service mysql stop

2- Exclua o diretório de dados MySQL:

sudo rm -rf /var/lib/mysql

3- Recrie o diretório de dados do MySQL (sim, não basta apenas deletar seu conteúdo):

sudo mkdir /var/lib/mysql    
sudo chown mysql:mysql /var/lib/mysql
sudo chmod 700 /var/lib/mysql

4- Adicione lower_case_table_names = 1à [mysqld]seção em:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

5- Reinicialize o MySQL com lower_case_table_names=1:

sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize --lower_case_table_names=1 --user=mysql --console

6- Inicie o serviço MySQL:

sudo service mysql start

7- Recupere a nova senha gerada para o usuário MySQL root:

sudo grep 'temporary password' /var/log/mysql/error.log

Copie a senha derada!

8- Altere a senha do usuário MySQL root:

mysql -u root -p

dentro do mysql mude a senha do root para de sua preferência.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'SUASENHAAQUI';

Para encerar o client do MySQL digite exit

Depois disso, você pode verificar a lower_case_table_namesconfiguração inserindo o shell do MySQL:

SHOW VARIABLES LIKE 'lower_case_%';

Resultado esperado:

+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 1     |
+------------------------+-------+

Espero ter ajudado!
Até +

Melissa Gobatti