Páginas

segunda-feira, 15 de julho de 2013

Recuperar privilégios do usuário root no MySQL

Caso você acidentalmente revogue (retire) os privilégios do usuário root, sem que tenha outro usuário com super-privilégios no mysql, você não poderá fazer mais quase nada no MySQL.

Para recuperar os privilégios do root, siga o seguinte procedimento:

1) entre no terminal com o usuário root;

2) páre o serviço mysqld com o comando:

shell># service mysqld stop

3) inicie o mysqld em modo seguro, com a opção --skip-grant-tables

Importante: seu servidor ficará inseguro momentaneamente, pois permitirá que qualquer um se conecte ao MySQL sem senha e com todos os privilégios. Por esse motivo, talvez você queira usar --skip-grant-tables junto com a opção --skip-networking para prevenir conexões de clientes remotos

shell># mysql_safe --skip-grant-tables &

ou 

shell># mysql_safe --skip-grant-tables --skip-networking &

4) conecte ao mysql, sem informar usuário ou senha:

shell># mysql

5) No MySQL, digite a seguinte sequência de comandos:

mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';

mysql> FLUSH PRIVILEGES;

mysql> GRANT ALL ON *.* TO 'root'@'localhost';

6) Saia do MySQL:

mysql> exit

7) Páre o serviço mysqld (que está rodando em modo seguro, junto com algumas opções) e reinicie-o normalmente:

shell># service mysqld restart

Pronto! Agora vc poderá acessar o MySQL normalmente como root e com todos os privilégios de super-usuário...


Resolução definitiva do erro

1. Entre novamente com no MySQL com a senha que setamos anteriormente: 

$ mysql -u root -p 

2. Execute o comando abaixo: 

mysql> set password for root@localhost=password(''); 

3. Tente entrar sem a senha no banco de dados, digite: 

$ mysql 

fonte : http://blog-hugo-sjrp.blogspot.com.br/2012/03/recuperar-privilegios-do-usuario-root.html

Nenhum comentário:

Postar um comentário