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

MySQL:não pode acessar a conta root


Você pode usar os arquivos init. Verifique a documentação oficial do MySQL em Como redefinir a senha raiz (incluindo comentários para soluções alternativas).

Então, basicamente, usando arquivos init, você pode adicionar quaisquer consultas SQL necessárias para corrigir seu acesso (como GRAND , CREATE , FLUSH PRIVILEGES , etc.) no arquivo init (qualquer arquivo).

Aqui está meu exemplo de recuperação de conta root:
echo "CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';" > your_init_file.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;" >> your_init_file.sql 
echo "FLUSH PRIVILEGES;" >> your_init_file.sql

e depois de criar seu arquivo, você pode executar:
killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql

então para verificar se funcionou, pressione Ctrl+Z e digite:bg para executar o processo do primeiro plano para o segundo plano e, em seguida, verifique seu acesso:
mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |

Veja também: