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:
- Sem senha – sem problemas em Tudo MySQL
- Bug #28331:Mensagem de erro pouco clara quando CREATE USER falha devido a chave duplicada