Início > Linux, Linux(BancoDados); > Recuperando a senha de root do MySQL

Recuperando a senha de root do MySQL

Quem nunca perdeu a senha de root do MySQL?
Poisé, aqui tem bem resumido como fazer pra recuperar.. Vamos aos comandos:

Primeiro passo é verificar se o seu MySQL está realmente parado:

[root@vostrolab ~]# /etc/init.d/mysqld status
mysqld is stopped

Segundo passo é criar um arquivo de inicialização pro banco de dados:

[root@vostrolab ~]# vim /var/lib/mysql/mysql-init

No exemplo acima utilizei o vim mas você pode utilizar o seu editor de texto predileto(nano, jed, joe, gedit, emacs e por aí vai…). Dentro do arquivo de configuração você pode colocar o seguinte conteúdo:

UPDATE mysql.user SET Password=PASSWORD(‘123456‘) WHERE User=’root’;
FLUSH PRIVILEGES;

Este comando acima será responsável por alterar a tabela mysql.user configurando sua nova senha para o usuário root. Note que grifei em vermelho acima onde você deve configurar sua nova senha.

Agora basta iniciar o MySQL em modo seguro e apontando para o seu arquivo de inicialização que acabamos de configurar. Para isso usamos o mysqld_safe conforme abaixo:

mysqld_safe –init-file=/var/lib/mysql/mysql-init &

Para testar, basta tentar conectar novamente no MySQL com a nova senha:

[root@vostrolab ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.56 Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

Feito… Agora basta parar o serviço mysqld_safe e iniciá-lo do modo convencional, que tudo estará funcionando normalmente com sua nova senha…

[root@vostrolab ~]# /etc/init.d/mysqld stop
110609 22:45:59 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Stopping mysqld:                                           [  OK  ]
[1]+  Done                    mysqld_safe –init-file=/var/lib/mysql/mysql-init

[root@vostrolab ~]# /etc/init.d/mysqld start
Starting mysqld:                                           [  OK  ]

Por: Hudson Murilo dos Santos
Referências: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

  1. 10/ junho / 2011 às 12:27 | #1

    Ótima contribuição, essa semana eu o frank estavamos discutindo sobre MySQL.

    • 10/ junho / 2011 às 12:38 | #2

      Massa,

      Estou com outra na manga aqui.. sobre mysqldump > dumpfile e mysql < dumpfile ;)

      Coisinha simples pra clonar um db por exemplo.

      Att,

  2. 10/ junho / 2011 às 12:40 | #3

    Show, estou o homologando o MySQL Cluster aqui.

  1. Nenhum trackbacks ainda.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.