Trocando a senha de root do Mysql

Hoje durante o dia, surgiu uma situação em que se precisava acessar o Mysql para executar algumas rotinas de manutenção, e para isso era pré-requisito que a conta de acesso tivesse privilégios de administrador (root), porém, ninguém ao redor tinha ou se lembrava da senha do usuário root do Mysql.

Para isso, abaixo segue um pequeno tutorial de como recuperar/mudar a senha do usuário root no Mysql.

#1: Parar o serviço do daemon do Mysql

# /etc/init.d/mysqld stop

Verificar se existe qualquer processo do Mysql no ar, e eliminar se for necessário

# ps aux |grep mysql
# kill -9 'pid'

#2: Iniciar o Mysql em modo de “segurança”

Desse modo, utilizando os parametros –skip-grant-tables, o daemon é iniciado ignorando as tabelas que fazem o controle de segurança do Mysql, com isso ao conectar no serviço, você acaba acessando com privilegios de administrador.

# mysqld_safe --skip-grant-tables &

#3: Acessar o banco do Mysql

# mysql -u root mysql

#4: Trocar a senha de root do banco

Substituir a palavra PASS pela nova senha

mysql> UPDATE user SET password=PASSWORD("PASS") WHERE user="root";
mysql> FLUSH PRIVILEGES;
mysql> exit

#5: Reiniciar o processo do Mysql

# /etc/init.d/mysqld restart