Finora, posso farlo funzionare con una soluzione alternativa (inizialmente ho pubblicato su askubuntu
):reinizializzando MySQL con il nuovo valore per lower_case_table_names
dopo la sua installazione. I seguenti passaggi si applicano a una nuova installazione. Se hai già dei dati in un database, esportalo prima per importarlo di nuovo in seguito:
- Installa MySQL:
sudo apt-get update sudo apt-get install mysql-server -y
- Interrompi il servizio MySQL:
sudo service mysql stop
- Elimina la directory dei dati MySQL:
sudo rm -rf /var/lib/mysql
- Ricrea la directory dei dati di MySQL (sì, non è sufficiente cancellarne il contenuto):
sudo mkdir /var/lib/mysql sudo chown mysql:mysql /var/lib/mysql sudo chmod 700 /var/lib/mysql
- Aggiungi
lower_case_table_names = 1
al[mysqld]
sezione in/etc/mysql/mysql.conf.d/mysqld.cnf
. - Reinizializza MySQL con
--lower_case_table_names=1
:sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize --lower_case_table_names=1 --user=mysql --console
- Avvia il servizio MySQL:
sudo service mysql start
- Recupera la nuova password generata per l'utente MySQL
root
:sudo grep 'temporary password' /var/log/mysql/error.log
- Cambia la password dell'utente MySQL
root
o da:
ed eseguendo:sudo mysql -u root -p
in seguito, OPPURE chiamando comunque lo script "hardening":ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPa$$w0rd';
sudo mysql_secure_installation
Successivamente, puoi verificare i lower_case_table_names
impostazione entrando nella shell MySQL:
sudo mysql -u root -p
ed eseguire:
SHOW VARIABLES LIKE 'lower_case_%';
Uscita prevista:
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
+------------------------+-------+