Até agora, posso fazê-lo funcionar com uma solução alternativa (postei originalmente em askubuntu ):reinicializando o MySQL com o novo valor para
lower_case_table_names
após sua instalação. As etapas a seguir se aplicam a uma nova instalação. Se você já tiver dados em um banco de dados, exporte-os primeiro para importá-los de volta mais tarde:- Instalar o MySQL:
sudo apt-get update sudo apt-get install mysql-server -y
- Parar o serviço MySQL:
sudo service mysql stop
- Exclua o diretório de dados do MySQL:
sudo rm -rf /var/lib/mysql
- Recrie o diretório de dados do MySQL (sim, não é suficiente apenas deletar seu conteúdo):
sudo mkdir /var/lib/mysql sudo chown mysql:mysql /var/lib/mysql sudo chmod 700 /var/lib/mysql
- Adicionar
lower_case_table_names = 1
para o[mysqld]
seção em/etc/mysql/mysql.conf.d/mysqld.cnf
. - 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
- Inicie o serviço MySQL:
sudo service mysql start
- Recupere a nova senha gerada para o usuário MySQL
root
:sudo grep 'temporary password' /var/log/mysql/error.log
- Alterar a senha do usuário MySQL
root
por:
e executando:sudo mysql -u root -p
depois, OU chamando o script "hardening" de qualquer maneira:ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPa$$w0rd';
sudo mysql_secure_installation
Depois disso, você pode verificar os
lower_case_table_names
configuração inserindo o shell do MySQL:sudo mysql -u root -p
e executando:
SHOW VARIABLES LIKE 'lower_case_%';
Saída esperada:
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
+------------------------+-------+