Recuperando a senha perdida do MySQL

Publicado por Anderson Leite em 03/09/2006

[ Hits: 25.240 ]

 


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

Dell com controladora PERC x Debian com Kernel 2.6.xx

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

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

Configurando teclas especiais

Leitura recomendada

Salvando datas no MySQL pelo Gambas2

Alterar senha do root no MySQL (Debian)

Liberando acesso remoto ao MySQL no Mandriva

Instalando MariaDB no CentOS 6.5

Como recuperar banco do Postgres pelo diretório

  

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 [email protected] 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 "[email protected]" pelo "[email protected]". 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á[email protected] 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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts