Mysql
 sql >> Database >  >> RDS >> Mysql

lower_case_table_names Impostazioni in MySQL 8.0.12

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:

  1. Installa MySQL:
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
  2. Interrompi il servizio MySQL:
    sudo service mysql stop
    
  3. Elimina la directory dei dati MySQL:
    sudo rm -rf /var/lib/mysql
    
  4. 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
    
  5. Aggiungi lower_case_table_names = 1 al [mysqld] sezione in /etc/mysql/mysql.conf.d/mysqld.cnf .
  6. 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
    
  7. Avvia il servizio MySQL:
    sudo service mysql start
    
  8. Recupera la nuova password generata per l'utente MySQL root :
    sudo grep 'temporary password' /var/log/mysql/error.log
    
  9. Cambia la password dell'utente MySQL root o da:
    sudo mysql -u root -p
    
    ed eseguendo:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPa$$w0rd';
    
    in seguito, OPPURE chiamando comunque lo script "hardening":
    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     |
+------------------------+-------+