Recuperando a senha de root do MySQL

Dica antiga, mas sempre atual e útil, porque perder senha do MySQL é algo que a gente sempre consegue a mágica de fazer.

Bom, o método para recuperar a senha do MySQL[bb] é bem simples. Na realidade, a mágica consiste em subir o MySQL[bb] sem as tabelas de validação de usuário. Assim, o SGBD entende que não há nenhuma senha de super usuário ou de usuário comum e lhe deixa logar anonimamente. 

Nesta dica em questão vou levar em consideração o Slackware[bb]  e Linux[bb] que se baseiam no System V ( Suse, Red Hat e asseclas ). 

O processo é bem simples e é composto de cinco partes 

1. Parar o processo do MySQL

2. Subir o MySQL sem as tabelas de validação de usuário 

3. Conectar ao mySQL sem senha com privilégios de root 

4. Criar uma nova senha de root 

5. Subir novamente o serviço do MySQL 

Então, vamos começar a brincadeira.

1. Parando o processo do MySQL

$ su -
password:

Slackware : /etc/rc.d/rc.mysqld stop
System V : /etc/init.d/mysql stop

2. Subindo o processo do MySQL sem as tabelas de validação 

Em ambos os sistemas será o mesmo comando, o resultado é que pode se diferente.

root@matrix:~# mysqld_safe --skip-grant-tables &
[1] 3074
root@matrix:~# nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql

3. Conectar no mysql sem senha com privilegios de root 

root@matrix:~# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.67 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

4. Criando uma nova senha de root

mysql> use mysql;
mysql> update user set password=PASSWORD("NOVA-SENHA-DE-ROOT") where User='root';
mysql> flush privileges;
mysql> quit

5. Subir novamente o serviço MySQL

Primeiro, vamos matar o atual processo do mysql 

 

Dica antiga, mas sempre atual e útil, porque perder senha do MySQL é algo que a gente sempre consegue a mágica de fazer.

Bom, o método para recuperar a senha do MySQL é bem simples. Na realidade, a mágica consiste em subir o MySQL sem as tabelas de validação de usuário. Assim, o SGBD entende que não há nenhuma senha de super usuário ou de usuário comum e lhe deixa logar anonimamente. 

Nesta dica em questão vou levar em consideração o Slackware  e Linux que se baseiam no System V ( Suse, Red Hat e asseclas ). 

O processo é bem simples e é composto de cinco partes 

1. Parar o processo do MySQL

2. Subir o MySQL sem as tabelas de validação de usuário 

3. Conectar ao mySQL sem senha com privilégios de root 

4. Criar uma nova senha de root 

5. Subir novamente o serviço do MySQL 

Então, vamos começar a brincadeira.

1. Parando o processo do MySQL

$ su -
password:

Slackware : /etc/rc.d/rc.mysqld stop
System V : /etc/init.d/mysql stop

2. Subindo o processo do MySQL sem as tabelas de validação 

Em ambos os sistemas será o mesmo comando, o resultado é que pode se diferente.

root@matrix:~# mysqld_safe --skip-grant-tables &
[1] 3074
root@matrix:~# nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql

3. Conectar no mysql sem senha com privilegios de root 

root@matrix:~# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.67 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

4. Criando uma nova senha de root

mysql> use mysql;
mysql> update user set password=PASSWORD("NOVA-SENHA-DE-ROOT") where User='root';
mysql> flush privileges;
mysql> quit

5. Subir novamente o serviço MySQL

Primeiro, vamos matar o atual processo do mysql 

root@matrix:~# kill -9 $(ps aux | grep mysql | grep -v grep | awk -F" " '{print $2}')
[1]+  Killed                  mysqld_safe --skip-grant-tables

Depois. subir o Mysql novamente : 

Slackware : /etc/rc.d/rc.mysqld start
System V : /etc/init.d/mysql start

E pronto, você já pode se sentir mais tranquilo, sabendo a senha de root do seu Mysql :-) 

 

comments powered by Disqus