Linux – Trocar senha de root do Mysql sabendo ou não a senha antiga

Hoje cheguei mais cedo da faculdade, pra falar a verdade coisa de minutos atrás e voltei a programar uma pagina que estou fazendo para pode acessar remoto, ela terá de inicio uma pagina de login para entrar só acessar o conteúdo quem for cadastrado, usarei para faculdade e outros fins profissionais.

Estou usando o Mysql como Banco de Dados e acabei esquecendo a senha do root eu sabia trocar a senha sabendo a atual agora cadastrar uma nova precisei do bom e velho google então vamos aos dois casos:

Trocando a senha de root 1

Nesse caso eu suponho que você saiba a senha do root e queira apenas trocar para fortalecer a segurança do banco, lembrando que você pode fazer isso mais fácil utilizando phpmyadmin, mas eu queria fazer no terminal ver na mão como seria, então vamos lá:

Abra um terminal do Linux como super-usuario # e digite:

root@linuxVM:/# mysql -u root -D mysql -p

Como na imagem abaixo:

Sendo assim estaremos conectando com usuário root (-u root)  na DataBase do mysql (-D mysql) e entrando com a senha antiga (-p).

Depois entre com a sintaxe SQL:

UPDATE user SET Password=(‘123456′) WHERE User=’root’;

Correção da sintaxe para alterar a senha (01/07/2013), pois na imagem acima esta correto houve um equivoco na sintaxe acima, enviado por um leitor a observação.

UPDATE user SET Password=PASSWORD(‘123456′) WHERE User=’root’;

FLUSH PRIVILEGES;

Pronto! Saia do mysql com exit e logue com a nova senha.

Trocando a senha de root 2

Agora sim. O caso um pouco mais chato, cadastrar uma senha do root quando não se sabe a senha do mesmo, neste caso não tem como acessarmos o mysql então teremos que derrubar o serviço, utilize:

#/etc/init.d/mysql stop

Agora vamos iniciar o mysql só que sem ler a tabela de permissões:

#/usr/bin/mysqld_safe –skip-grant-tables &

Em seguida:

#/usr/bin/mysql

O importante é usar –skip-grant-tables e no meu caso usei /usr/bin/, mas dependendo da sua distribuição Linux pode ser /usr/local/bin/ então use de acordo com a sua distro.

Agora prosseguindo digite:

use mysql;

Para conectarmos a base de dados mysql.

Agora a sintaxe para alterar a senha é a mesma do caso anterior:

UPDATE user SET Password=(‘123456′) WHERE User=’root’;

UPDATE user SET Password=PASSWORD(‘123456′) WHERE User=’root’;

Reparem que propositalmente eu colocar o USER na primeira tentativa como maiusculo, e deu erro, pois é de acordo com o nome da tabela do banco mysql no caso, e lembre-se é case-sensitive.

Agora saia do mysql com exit.

Vamos restartar o serviço do mysql para voltar ao normal.

#/etc/init.d/mysql restart

Em seguida teste agora com a nova senha:

#mysql -u root -p

Caso queira conectar direto em alguma DataBase utilize -D DataBase:

#mysql -u root -D prog1000 -p

Bom vimos então como mudar a senha do root do mysql sabendo ou não a senha do root.

Espero ter sido claro e de fácil compreensão.

Até a próxima!

Share Button

CC BY-NC-SA 4.0 Linux – Trocar senha de root do Mysql sabendo ou não a senha antiga by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.