Modificar senha de usuário do MySQL

Comentarios


Eis uma coisa que você, seja você desenvolvedor ou TI, vai ter que fazer pelo menos uma vez na vida.

-Por que?

Se você for da área de TI, você pode ser responsável por manter um sistema que tenha um usuário específico no MySQL, por exemplo.

Se você é desenvolvedor, pode ser que precise criar um usuário específico para sua aplicação, utilizar os poderes de root de forma mais segura, ou por estar dando manutenção em um sistema criado por outro profissional.

Basicamente conheço 2 métodos para isso, cada um com suas vantagens e desvantagens:

1- Via comando mysqladmin;
2- Via SQL.


Mysqladmin:

Este comando te permite midificar a senha do usuário especificado sem ter que se conectar diretamente aos bancos do MySQL, desde que o serviço do MySQL esteja rodando. O que é muito útil caso você tenha de mudar a senha do usuário apartir de um script .bat, por exemplo.
No caso Windows, este aplicativo está dentro de <LOCAL ONDE INSTALOU>\bin, se este diretório não estiver no Path do sistema você terá de especificar todo o caminho de instalação do MySQL ou entrar na pasta bin para executar. Dica: pode ser necessário especificar a extensão ".exe" depois do nome do comando.

A sintaxe do comando e simples:
mysqladmin -u USER -p password NEWPASSWORD

Exemplo:
mysqladmin -u root -p password '123'
Pode-se tamblem especificar a porta usada pelo serviço:
mysqladmin -u root -p password '123' --port 3306

Observações:
  • Você precisa ter privilégios de administrador para executar este comando;
  • Caso você use Linux e compartilhe a conta de usuário, este comando ficará no histórico, para isso basta editar o arquivo ~/.bash_history e deletar as linhas onde a senha é exibida.


Via SQL:

Para alterar a senha, basta dar um update na tabela de usuários do banco de dados MySQL. Este comando tem duas variações, ambas com o mesmo resultado:
SET PASSWORD FOR 'user'@'host' = PASSWORD('newpass');
Ou
UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='user';
Depois de rodar o comando acima, é preciso rodar um FLUSH PRIVILEGES para que o MySQL carregue novamente a tabela de usuários, aplicando a nova senha.

Exemplo:
UPDATE mysql.user SET Password=PASSWORD('123') WHERE User='root';
Também é possível especificar o host:
UPDATE mysql.user SET Password=PASSWORD('123') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

É isso aê!!!

#Compartilhar: Facebook Twitter Google+ Linkedin Technorati Digg

0 comentários:

Tecnologia do Blogger.