Para recuperar o acesso root é necessário realizar a troca manual da senha do super usuário, um procedimento bem simples. Vamos lá!
1. Parar o serviço:
root@tips: ~# /etc/init.d/mysql stop
2. Iniciar o daemon manualmente sem privilégios
root@tips: ~# mysqld_safe --skip-grant-tables --bind-address=127.0.0.1&
O parâmetro skip-grant-tables instrui o MySQL a não ativar o sistema de privilégios, sendo que durante a execução todos os usuários terão permissão de total em todos as bases. Cuidado!
3. O próximo passo é conectar-se ao servidor e realizar a query que atualiza a senha de root. No exemplo abaixo usei o cliente de linha de comando mysql.
root@tips: ~# mysql -u root -p
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('newrootpassword') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;
4. Por fim, devemos finalizar o processo que inicializamos (aquele com skip-grant-tables) e e reiniciá-lo normalmente:
root@tips: ~# killall mysqld_safe root@tips: ~# /etc/init.d/mysql start
That’s it guys!
More:
http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_skip-grant-tables
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html












