Recuperando senha MySQL

Publicado por Jeferson R. Costa em 13/01/2014

[ Hits: 67.468 ]

Blog: http://www.jefersonrc.com.br/

 


Recuperando senha MySQL



Se você está lendo isto, provavelmente está muito desesperado por ter perdido a senha do MySQL ou está muito bravo com o cara que fez essa "caquinha".

Mas, para te deixar um pouco feliz, seus problemas acabam aqui. Vou mostrar nesta dica como recuperar a senha de qualquer usuário do MySQL.

O primeiro passo, é pararmos o MySQL com o comando abaixo:

# /etc/init.d/mysql stop

Depois devemos iniciar o MySQL em modo de segurança, para que possamos ter acesso para alterar a senha:

# mysqld_safe --skip-grant-tables --skip-networking &

Explicando:
  • O parâmetro --skip-grant-tables, serve para o MySQL iniciar sem o responsável pela verificação das permissões dos usuários, dando permissão total a todos os usuários.
  • O segundo parâmetro --skip-networking, serve para que nenhuma conexão TCP/IP seja aceita, evitando que alguém se aproveite deste tempo para "destruir" seu banco de dados.

Uma vez o banco desprotegido, vamos conectar e alterar a senha do usuário que queremos recuperar. Neste exemplo, vou usar o próprio root:

# mysql -u root

  mysql> update mysql.user set password=PASSWORD('nova_senha') where user='root';
  mysql> flush privileges;

A senha do root já está alterada. Agora devemos parar o MySQL e iniciá-lo novamente, para que o MySQL inicie sem os skips:

# /etc/init.d/mysql stop
# /etc/init.d/mysql start


Agora, para testarmos, vamos conectar ao banco usando a senha que colocamos:

# mysql -u root -p'nova_senha'

Conclusão

Testado no Debian 7.3 e Squid 3.

Veja essa e outras dicas em meu blog, onde posto dicas e soluções em infraestrutura de TI.

Gostou? Compartilhe e deixe seu comentário.
Achou algum erro? Precisa de ajuda? Críticas? Deixe seu comentário.

Obrigado,
Jeferson R. Costa

Outras dicas deste autor

Códigos do Squid

Iniciando o Debian mais rápido removendo o GRUB

Desmontando partição em uso (is busy)

Erro: ERROR 2006 (HY000): "MySQL server has gone away" [Resolvido]

Servidor Debian - Erro: Não existem chaves públicas para os seguintes IDs de chaves [Resolvido]

Leitura recomendada

Instalando o MySQL-Administrator no Debian, sem torná-lo unstable

SQL*Plus em modo silencioso

Resolvendo as dependências do DBDesigner 4 no Mandriva

Liberando acesso remoto ao MySQL no Mandriva

MariaDB no Debian 7

  

Comentários
[1] Comentário enviado por thalesx em 11/03/2014 - 16:37h

valeu, muito bom, me ajudou bastante.

[2] Comentário enviado por franklincsilva em 21/04/2014 - 23:57h

Quero deixar meus cumprimentos, pois essa dica me ajudou.
Parabéns.

[3] Comentário enviado por jefaokpta em 06/09/2014 - 11:30h

Valeu parceiro

[4] Comentário enviado por joeliasjunior em 02/02/2015 - 10:38h


Dica útil, prática e eficaz. Parabéns e obrigado.

[5] Comentário enviado por mastergbi em 15/07/2015 - 22:01h


Dica excelente.. obrigado

[6] Comentário enviado por Yamanto em 08/03/2016 - 03:14h

Bom dia!
Sinto em dizer mas seu post resolveu meu problema. O comando abaixo não funciona. Favor revisar.
mysql> update mysql.user set password=PASSWORD('nova_senha') where user='root';

Um tutorial que me ajudou: https://www.vivaolinux.com.br/dica/Recuperando-a-senha-do-root-de-seu-MySQL

[7] Comentário enviado por apchagas81 em 18/04/2016 - 09:06h

Obrigado, ajudou 100%

[8] Comentário enviado por Samuray007 em 20/04/2017 - 08:26h

Saudações.

Muito agradecido por ter nos auxiliado nesse momento de crise quando não se consegue conectar no mysql por falta / esquecimento da senha de root.

Precisei atualizar o nome do campo password para authentication_string, ficando assim o comando:

update mysql.user set authentication_string=password('1111') where user='root';

Encontrei essa dica no site:

https://teia.bio.br/blog/arquivos/2832

[9] Comentário enviado por mpagliajr em 05/08/2017 - 18:47h

Muito bom, me ajudou muito. Comandos funcionaram certinhos!



Contribuir com comentário