537 Views
Tempo de leitura: 1 MinutoAtualizado em:
Se você perdeu ou já não possuía a senha de root do seu MySQL, precisará redefini-la. A seguir, veremos como o fazer.
Observações | 1 – Lembrando que isso gera um downtime, pois será preciso reiniciar o MySQL. Portanto, atente-se ao tempo de indisponibilidade. 2 – Caso possua aplicações que façam conexão com o banco, antes de trocar a senha, lembre-se; Precisará redefinir sua senha na string de conexão da aplicação. Se não o fizer, sua aplicação ficará fora do ar por não conseguir logar no banco. |
Mãos à obra:
Primeiro, abra o daemon do MySQL no init.d. Vamos inserir um “–skip-grant-tables” nele:
vim /etc/init.d/mysql
Insira a variável na linha 330 onde o binário do MySQL é startado. Ficará assim:
$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args --skip-grant-tables >/dev/null 2>&1
Agora reinicie o seu MySQL:
/etc/init.d/mysql restart Shutting down MySQL.......... SUCCESS! Starting MySQL. SUCCESS!
Logue no MySQL acessando a base de dados “mysql”. Veja que não é necessário informar a senha:
mysql -u root mysql
Redefina a senha com a seguinte query:
UPDATE user SET Password=PASSWORD('informe_sua_nova_senha') WHERE User='root';
Dica | No artigo “Segurança de Senhas” (2009) dei algumas dicas sobre senhas. São só uns 3 minutos de leitura. |
Recarregue os privilégios:
FLUSH PRIVILEGES;
Pronto. Agora retire o “–skip-grant-tables” e reinicie o MySQL novamente.
A seguir, teste sua senha logando no MySQL:
mysql -u root -p Enter password:
Boa sorte.
Observação | Não faça muitos reinícios do MySQL principalmente se for um ambiente de produção. Seus dados podem corromper. No caso do ambiente ser de produção, sugiro parar seu Webserver para não deixar chegar requisições no banco. |
0 - 0