Alterando a senha do usuário root no MySQL
Algumas vezes já me deparei com a dificuldade de tentar me lembrar qual era mesmo a senha que eu havia definido para o usuário root nos servidores com MySQL… depois de algumas vezes decidi guardar esta dica em algum lugar que me facilitasse recuperar quando necessário, e lá foi ela pra minha incrível base de conhecimentos em arquivo texto indexada pelo grep
. Bem, como tudo evolui, a base de conhecimentos em arquivo texto transformou-se neste blog e mais uma dica fará parte dele agora (não que a solução anterior estivesse ruim, mas infelizmente não era pública).
Para alterar a senha do usuário root siga os seguintes passos:
Linux:
- Parar o serviço do MySQL (service mysqld stop, /etc/init.d/mysqld stop, matando o processo – conforme sua distribuição);
- Reiniciar o mysql com a opção –skip-grant-tables (você poderá utilizá-la ao iniciar o mysqld manuamente ou colocando-a no arquivo de init)
- Alterar a senha do usuário root com o comando:
# mysqladmin -u root password 'nova_senha' # mysqladmin flush-privileges
você pode alterar a senha também com o comando:
# mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root'; mysql> FLUSH PRIVILEGES;
Windows XP (com o MySQL rodando como serviço):
- Entrar nos serviços do windows (Iniciar -> Executar -> services.msc);
- Procure pelo MySQL, clique com o botão direito sobre ele e vá em propriedades;
- Pare o serviço (clicando sobre o botão parar);
- Insira no campo “Parâmetros de inicialização” o parâmetro –skip-grant-tables e clique no botão iniciar e em seguida botão Ok;
- Execute o cmd (Iniciar -> Executar -> cmd) , entre no diretório de binários do MySQL (cd c:\arquivos de programas\mysql\bin (ou onde estiver instalado));
- Alterar a senha do usuário root com o comando:
mysqladmin -u root password 'nova_senha' mysqladmin flush-privileges
você pode alterar a senha também com o comando:
mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root'; mysql> FLUSH PRIVILEGES;
O parâmetro –skip-grant-tables desabilita no servidor o uso do sistema de privilégios. Com isso todos os usuários terão acesso a todos os bancos de dados. Ao executar o comando Flush privileges, o servidor retorna a utilizar seu sistema de privilégios, mantendo a segurança original do serviço.
Agora se você adicionou o parâmetro –skip-grant-tables no arquivo de init, não se esqueca de remové-lo de lá, para evitar que na próxima reinicialização do serviço ele fique vulnerável. Caso seu MySQL esteja no Windows, execute os 4 primeiros passos novamente removendo o parâmetro passado na inicialização.
Update: O Artigo foi adaptado também para apresentar a troca de senhas no ambiente windows conforme sugestão do Carlos Henrique.
hebertphp » Alterando a senha do usuário root no MySQL:
[...] Fonte: Blog do Neto [...]
12 junho 2007, 10:51 amgerson:
pow tem como vc me ensinar a fazer um site pq eu fiz um site no programa wamp5 mas nao sei como hospedo e mesmo hospedando o site nao está como eu quero pow tem como me ajuda pra fazer um site igual a esse ?
4 junho 2008, 6:58 pmgerson:
meu e-mail é
4 junho 2008, 6:59 pmfogo99_3000@hotmail.com
Jose Huaixan:
Beleza. Funcionou direitinho. Outra coisa: No Mandriva 2009 a senha vem em branco. E quem sabe disso? Entrei lá e usei o comando de troca que você indicou e deu tudo certo. Obrigado.
6 maio 2009, 8:12 pmCezar:
Show de bola, valew!!
27 outubro 2009, 5:13 amGuia de referência MySQL (Quick Guide) Grátis - De-Grátis!:
[...] Alterando a senha do usuário root no MySQL [...]
5 novembro 2009, 10:17 amRenato:
Eu não consegui fazer, eu n entendii direito!!! Me ajuda !!
2 dezembro 2009, 8:30 pmEmilio:
Suas dicas me salvaram! Hauehuauh
Muito obrigado
Abraço o/
3 dezembro 2009, 2:21 pmDielson Sales:
O comando não deveria ser “UPDATE mysql.user SET Password=PASSWORD(‘nova_senha’) WHERE User=’root’;”?
Pelo menos foi assim que funcionou aqui.
6 abril 2010, 9:29 pmvp:
ta la Neto
21 abril 2010, 11:11 pmkaue:
Ptz cara,
5 julho 2010, 3:15 pmnão consegui achar o mysql no services.msc para para-lo
e consequentemente não funcionou o resto.
oque faço?