resetando senha de root do mysql server

As vezes a gente começa um novo projeto e precisa dar manutenção em um ambiente não documentado, e na maioria das vezes, você não tem nem mesmo as senhas de administração do banco mysql registradas, e precisa se virar para cuidar do ambiente e atender seus chamados.

Recentemente eu passei por isto e precisei quebrar a senha de root de alguns servidores MYSQL do meu novo cliente, abaixo segue o passo a passo, resumido, direto ao ponto, de como fiz, espero que possa ajudar alguém ;)

Acesse o sevidor

$ ssh servidor –l usuario

Se torne root

$ sudo -i

Pare o mysql server

# /etc/init.d/mysqld stop

Inicie o mysql em modo safe

# mysqld_safe --skip-grant-tables &

Acesse o mysql

# mysql

Acesse a base mysql

mysql> use mysql;

Troque a senha do usuário root

mysql> update user set password=PASSWORD("senha") where User='root';

Saia do mysql

mysq> exit

Pare o mysql

# /etc/init.d/mysql stop

Inicie o mysql da forma normal

# /etc/init.d/mysql start

Acesse o MYSQL com a senha que voce especificou

# mysql –u root –p

Execute os grants necessários para atender seus tickets

mysql> grant SELECT on base.* to usuario@10.1.30.xxx identified by 'senha';

Rode um flush nos privilégios

mysq> flush privileges;

Saia do mysql

mysq> exit;

Faça logout do root

# exit

Faça logout do servidor

$ exit

Pronto, o MYSQL agora está sob seu controle.

Eu particularmente recomendo que você faça isso via Puppet, veja o post que eu abordo como gerenciar o MYSQL com Puppet, porém, essas dicas são sempre importantes ;)

[s]
Guto