Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Lower_case_table_names Configurações no MySQL 8.0.12


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:
  1. Instalar o MySQL:
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
  2. Parar o serviço MySQL:
    sudo service mysql stop
    
  3. Exclua o diretório de dados do MySQL:
    sudo rm -rf /var/lib/mysql
    
  4. 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
    
  5. Adicionar lower_case_table_names = 1 para o [mysqld] seção em /etc/mysql/mysql.conf.d/mysqld.cnf .
  6. 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
    
  7. Inicie o serviço MySQL:
    sudo service mysql start
    
  8. Recupere a nova senha gerada para o usuário MySQL root :
    sudo grep 'temporary password' /var/log/mysql/error.log
    
  9. Alterar a senha do usuário MySQL root por:
    sudo mysql -u root -p
    
    e executando:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPa$$w0rd';
    
    depois, OU chamando o script "hardening" de qualquer maneira:
    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     |
+------------------------+-------+