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
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 :-)