Recuperar senha do root do MySQL

As vezes temos alguns problemas com a senha do usuário root, aonde não conseguimos acessar mesmo sabendo a senha, e o que vamos fazer então para recuperar é o que eu vou passar agora.

Pare o serviço do MySQL.

/etc/init.d/mysql stop

Edite o arquivo /etc/mysql/my.cnf

Lá pela linha 44 dentro do bloco [mysqld] insira a seguinte linha

vim /etc/mysql/my.cnf
[...]
skip-grant-table

Salve o arquivo e reinicie o serviço.

/etc/init.d/mysql restart

Logue agora da seguinte forma

mysql -u root

Vamos agora resetar a senha do root

mysql> USE mysql;
mysql> UPDATE user set password=PASSWORD('senha') WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

Agora edite novamente o arquivo /etc/mysql/my.cnf e comente a linha skip-grant-table, agora reinicie o serviço do mysql.

/etc/init.d/mysql restart

Agora pode logar novamente com o root e a senha que você definiu.

mysql -u root -psenha

Referências