Recuperando a senha perdida do MySQL

Publicado por Anderson Leite em 03/09/2006

[ Hits: 25.867 ]

 


Recuperando a senha perdida do MySQL



Este tutorial se aplica as versões de Windows ou GNU/Linux do MySQL.

1 - Parar o serviço do MySQL:

Linux:

# /etc/init.d/mysql stop

Windows: Iniciar -> Programas -> Ferramentas Administrativas -> Serviços -> MySQL -> Parar

2 - Iniciar o banco sem as tabelas de privilégios:

Linux:

# /usr/sbin/mysqld --skip-grant-tables

Windows: <caminho da instalação do mysql>\bin\mysqld-nt.exe --skip-grant-tables

3 - Trocar a senha de root perdida

3.1 - Via MySQLadmin

Linux:

# /usr/bin/mysqladmin -u root password 'minhanovasenha'

Windows: <caminho da instalação do mysql>\bin\mysqladmin -u root password 'minhanovasenha'

Após isto recarregar a tabela de privilégios:

Linux:

# /usr/bin/mysqladmin -h localhost flush-privileges

Windows: <caminho da instalação do mysql>\bin\mysqladmin -h localhost flush-privileges

3.2 - Via MySQL

Conecte ao servidor mysqld com:

Linux:

# /usr/bin/mysql -u root mysql

Windows: <caminho da instalação do mysql>\bin\mysql -u root mysql

Dispare os seguintes comandos no cliente mysql:

mysql> UPDATE user SET Password=PASSWORD('minhanovasenha') WHERE User='root';
mysql> FLUSH PRIVILEGES;

3.3 - Inserir um novo usuário com permissão total no MySQL, e acesso a partir de qualquer host (versão 4.x)

Digite o seguinte comando no MySQL:

mysql> INSERT INTO user VALUES('%', 'usuário', PASSWORD('senha'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');

Outras dicas deste autor

Configurando teclas especiais

SMTP Auth com Postfix e SASL (sem domínios virtuais)

Monitorando o uso de processador de servidores (locais e remotos) com o Nagios + NRPE

Dell com controladora PERC x Debian com Kernel 2.6.xx

Leitura recomendada

MySQL no Slackware 14.1 - Configuração inicial

Salvando datas no MySQL pelo Gambas2

Alterando senha de usuário no MySQL

PostgreSQL - "database server: mainError: could not exec" [Resolvido]

Instalação/Upgrade mysqld 5.7: fatal error: mysql.user table is damaged [Resolvido]

  

Comentários
[1] Comentário enviado por GlimerMan em 04/09/2006 - 08:40h

rootkit,
Interessante sua dica de como recuperar a senha. Apenas um detalhe nos tópicos 3.2 e 3.3:
- Para dar permissões aos usuários no MySQL, eu prefiro utilizar a seguinte forma:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '_senha_do_root_' WITH GRANT OPTION;
Com isso, estou dando total permissão no servidor MySQL ao usuário root. Ele terá permissão até mesmo nas bases que serão criadas após este comando. Se fosse necessário dar privilégios totais a outro usuário, basta trocar o "root@localhost" pelo "usuario@host". Usando o comando desta forma, evito a manipulação direta das tabelas do MySQL e não há a necessidade de digitar vários "Y"...
Detalhe: para limitarmos os outros usuários à algumas operações:
GRANT INSERT,UPDATE,DELETE ON nome_banco.* TO usuário@localhost IDENTIFIED BY '_senha_' WITH GRANT OPTION;
Com isso, apenas as operações de inserção, atualização e deleção serão permitidas para este usuário...

[2] Comentário enviado por balani em 16/07/2007 - 11:45h

boa dica, quebrou um galho, valeu

[3] Comentário enviado por templuseletronic em 30/05/2008 - 02:44h

de todas que vi a mais detalhada, parabens...

[4] Comentário enviado por yszcz em 31/05/2008 - 19:05h

Bom....

Quando executei este comando:
# /usr/sbin/mysqld --skip-grant-tables deu o seguinte erro.
Can't create test file /var/lib/mysql
Dei permissão: chmod 777 /var/lib/mysql

Até aí, tudo bem!

Mas quando executo este comando: ~$ sudo /usr/bin/mysqladmin -u root password *****

Me retorna o seguinte erro:
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Já pesquisei em outros tópicos e não consegui encontrar a solução. Tentei conectar sem usar senha e retorna o mesmo erro.

O problema é que esqueci a senha. Fiquei um tempo sem usar e esqueci....


[5] Comentário enviado por Sr.Calavera em 20/03/2010 - 16:37h

putz...
Como eu procurei na net por um tuto como esse!
Finalmente consegui alterar/criar uma senha no MySQL!
:]

Nunca usei MySQL, e nao havia começado ainda justamente por causa desse bendita senha
:/

Valeu mesmo rootkit!
:D



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts