Você está na página 1de 14

Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

leandrosales.com.br
Só mais um site de um desenvolvedor

Reset root password no MySQL 5.7.*


Publicado em 17 de setembro de 2016

Estava muito tempo sem postar, mas hoje eu passei uma dor de cabeça muito grande até
resolver este problema, então eu tinha que postar essa solução.

Eu estava com o Ubuntu 14.10 e resolvi atualizar ele para a última versão hoje (17/09
/2016), Ubuntu 16.04.

Tudo estava correndo bem, mesmo tendo que reinstalar/reconfigurar algumas


bibliotecas/aplicativos.

O último passo da verificação foi tentar rodar meus aplicativos web que usam MySQL. A
surpresa inicial foi que o MySQL havia sido desinstalado. Verifiquei se os arquivos de
dados, com todos os meus bancos de dados, estavam salvos. Graças a minha sorte tudo
estava a salvo.

Primeiramente eu apenas fiz a instalação dos pacotes do MySQL, onde a versão mais nova
era a 5.7:

$ sudo apt-get install mysql-server-5.7 mysql-client-5.7

Após finalizar a instalação, eu tentei logar. O problema ocorreu justamente nesse momento,
quando eu tentei logar no MySQL:

$ mysql -u root
ERROR 1045: Access denied for user: 'root'@'localhost'

Antes de fazer a atualização do Ubuntu meu MySQL não tinha senha de root. Ela era vazia.
Eu apenas fazia mysql -u root e o acesso seguia com sucesso.

Então o que eu deveria fazer? Bem, provavelmente a senha de root foi alterada ou qualquer
outro problema que eu não sei o que foi. A solução então era alterar a senha de root. Eu
passe mais de 5 horas tentando alterar a senha, lendo vários sites, blogs, jornais, revistas,

1 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

contato extra-terrestre, …, inclusive o site oficial do MySQL, e tudo repetia as mesmas


coisas. Até que uma luz veio e me levou até uma postagem no StackOverflow com um erro
não tão igual, mas com a mesma solução.

Todos os sites diziam a mesma coisa, mas eu acabei encontrando o que faltava. Segue
abaixo:

1. Primeiro devemos parar o serviço do MySQL:

$ sudo service mysql stop

2. Em seguida iniciamos o MySQL em modo seguro, sem as opções de permissões. Isso


vai servir para você alterar a senha. Mas o segredo vem depois:

$ sudo mysqld_safe --skip-grant-tables &

Poderá ocorrer o seguinte erro:

mysqld_safe Logging to '/var/log/mysql/error.log'.


mysqld_safe Logging to '/var/log/mysql/error.log'.
mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

Caso ocorra, execute o seguinte comando para criar o diretório onde ficará o
socket do mysql:

$ sudo mkdir -p /var/run/mysqld


$ sudo chown mysql:mysql /var/run/mysqld

3. Após iniciar o servidor você vai acessar o cliente MySQL com usuário root, sem senha:

$ mysql -u root

4. Agora vamos alterar a senha do usuário root.

Aqui é que está o SEGREDO. No MySQL 5.7 foi alterado algumas coisas no banco de
dados de sistema mysql. A tabela user não possui mais a coluna password, o nome agora
se chama authentication_string. Então faça a alteração da senha da seguinte maneira:

mysql> use mysql;


mysql> update user set authentication_string=PASSWORD("SuaSenha") where User='root';

Bom, a maioria dos sites paravam aí, o que não resolvia o problema. O que faltava era um
pequeno detalhes, devemos alterar o campo plugin setando o mecanismo padrão de

2 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

verificação do password. Então segue abaixo:

mysql> update user set plugin="mysql_native_password";


mysql> flush privileges;
mysql> quit;

Fieto isso, a senha do root foi alterada e está pronto para ser acessado.

5. Dê um stop no MySQL e depois inicie normalmente o serviço:

$ sudo mysqladmin shutdown # essa foi a forma mais fácil que eu achei para matar o m

Caso não dê certo, você também pode tentar matar o MySQL localizando o id do processo
e dando um kill nele:

$ ps -ef | grep mysql


$ sudo kill -9 [id dos processos que você achou no comando anterior]

Após parar o serviço, inicie ele normalmente:

$ sudo service mysql start

Pronto, agora é só conectar e correr para o abraço:

$ mysql -u root -p

Então era isso galera. Queria apenas registrar este detalhe para ajudar mais pessoas, já
que a maioria dos sites possui informações bem antigas.

Qualquer dúvida é só perguntar nos comentários.

Abraço!

Esse post foi publicado em Desenvolvimento, MySQL e marcado mysql, mysqld_safe,


passwod, ubuntu por Leandro Sales. Marcar link permanente
[https://www.leandrosales.com.br/2016/09/17/reset-root-password-no-mysql-5-7/] .

56 IDEIAS SOBRE “RESET ROOT PASSWORD NO MYSQL 5.7.*”

João Paulo
em 12 de Março de 2017 às 21:14 disse:

Você parou de fazer atualização no BingoDroid?

3 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

Leandro Sales
em 13 de Março de 2017 às 10:05 disse:

Tenho umas alterações pra fazer, mas sem previsão, infelizmente.

daniel
em 2 de Maio de 2017 às 13:50 disse:

Valeu muito!!! Obrigado! Tava tentando logar e a senha root tava dando inválida. O
motivo eu não sei. Mas com esse tutorial consegui trocar a senha!

Estava ocorrendo esses erros e daí eu não sabia mais o que fazer.
mysqld_safe Logging to ‘/var/log/mysql/error.log’.
mysqld_safe Logging to ‘/var/log/mysql/error.log’.
mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.

xzapturbo
em 6 de Abril de 2020 às 3:48 disse:

No meu caso continua dando esse erro mesmo fazendo o que ele ensina…
com o mkdir etc… pode ajudar?

Leandro Sales
em 6 de Abril de 2020 às 20:22 disse:

Veja se o diretório /var/run/mysqld existe. Se não existe, tente cria-lo


como root.

André Silva
em 17 de agosto de 2017 às 10:02 disse:

Muito bom, também perdi mais de 6h até encontrar seu ensinamento.


Valeu!

4 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

Pedro
em 2 de dezembro de 2017 às 9:04 disse:

Ótimo post!
Alguma ajuda por favor para quem usa windows e enfrenta exatamente o mesmo
problema?

Não consegui converter alguns comandos, para o windows, ou me confundi em


alguns, faz muito tempo, que não uso LINUX, na minha época não existia UBUNTU.

Leandro Sales
em 25 de Fevereiro de 2018 às 12:18 disse:

Infelizmente não sei como fazer no windows.

Celso Almeida Jr.


em 8 de dezembro de 2017 às 12:42 disse:

Excelente dica Leandro, ótimo tutorial. Obrigado!!

Jonas
em 16 de Janeiro de 2018 às 0:30 disse:

Cara, você me salvou!


Muito obrigado!! \o/

Eduardo
em 16 de Abril de 2018 às 12:37 disse:

Na instalação dessa versão do mysql ele cria uma senha de root temporária, é só
verificar com o comando abaixo e depois criar a nova senha:

# grep ‘temporary password’ /var/log/mysqld.log


2018-04-13T20:08:23.432149Z 1 [Note] A temporary password is generated for
root@localhost: rX%snotwFk9uK
[root@sprsga02 ~]# mysql_secure_installation

5 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

Securing the MySQL server deployment.

Enter password for user root:

The existing password for the user account root has expired. Please set a new
password.

New password:

OBS.: no final da instalação consta essa informação no terminal.

Leandro Sales
em 6 de Abril de 2020 às 21:21 disse:

Legal. Fica mais essa dica pro pessoal tentar antes de partir pra alteração da
senha.

Klebeson Lima
em 24 de Abril de 2018 às 12:17 disse:

Leandro, muitíssimo obrigado!


Funcionou direitinho.

Filipe
em 3 de junho de 2018 às 15:43 disse:

Top!! Foi o único tutorial que me salvou! Está de parabéns.

Anônimo
em 19 de julho de 2018 às 16:00 disse:

Você salvou meu dia. Favoritei até a pagina. Valeu manolo.

Rafael

6 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

em 16 de agosto de 2018 às 22:43 disse:

Você é o cara!
Obrigado, de verdade.

W. Reis
em 17 de agosto de 2018 às 17:16 disse:

Ótimo tutorial!

Celson
em 22 de agosto de 2018 às 10:45 disse:

Ajudou muito, Leandro. Havia instalado o mysql-server sem senha, achando que ele
ia deixar logar no console, e quando descobri que não podia usei seu post para
resolver o problema. Abraço!

Leandro Bressan
em 2 de setembro de 2018 às 12:41 disse:

valeu me ajudou, fiquei 3 horas quebrando a cabeça!

Janaína
em 25 de setembro de 2018 às 14:34 disse:

Funcionou, unico tutorial que achei que realmente resolveu! Obrigada

7 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

tadrfp
em 28 de setembro de 2018 às 15:36 disse:

Obrigado. A Estava com o problema da troca na coluna password para


authentication_string.

Enauro
em 12 de outubro de 2018 às 21:18 disse:

Que Deus lhe abençoe grandemente!


Já estamos em outubro de 2018 e seu artigo continua salvando vida!

Usuario iniciante
em 26 de outubro de 2018 às 15:41 disse:

Caramba! Este post valeu muito a pena!!


O unico que funcionou!!!
Valeu mesmo!!!

Alan Viana
em 27 de outubro de 2018 às 14:43 disse:

Cara, vc é o cara!

Gabriel Mendonça
em 30 de outubro de 2018 às 20:00 disse:

Muito bom amigo, resolveu meu problema aqui. Abraço! Continue com o bom
trabalho.

Valdinei
em 17 de dezembro de 2018 às 20:31 disse:

8 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

Voce é o meu heroi !!!! Me salvou aqui … valeeeeeuuu

Daniel Viana
em 2 de Janeiro de 2019 às 16:01 disse:

Muuito obrigado !
Me salvou !

Moizes
em 10 de Fevereiro de 2019 às 11:31 disse:

Camarada, show de bola, a melhor dica que encontrei, várias pesquisas que fiz não
tratavam de problemas, mas você detalhou problemas que enfrentaria e a suas
dicas sobre os problemas foram valiosas.
Parabéns… TOP mesmo…

Jose
em 13 de Fevereiro de 2019 às 8:34 disse:

Cara, parabéns por este post.

Alison
em 18 de Fevereiro de 2019 às 10:34 disse:

Valeu Jovem!
Esse problema tem ocorrido há algum tempo já. É um saco ter que fazer esse
procedimento. De fato os tutoriais não dão destaque ao plugin.

Abc.

Adriano Leal
em 27 de Março de 2019 às 12:49 disse:

9 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

Uau. Gostei. Todas as resoluções para os prováveis problemas. Bem amplo.


Gostei.
Valeu.

Leonardo
em 3 de Abril de 2019 às 22:45 disse:

Ajudou muito, hoje se não desse certo eu iria voltar a desenvolver no windows

Shay Evans
em 4 de junho de 2019 às 17:35 disse:

I been searching the internet for this thanks!

Glauco Toni
em 5 de julho de 2019 às 12:52 disse:

Valeu, deu certo….nao sei porque na pesquisa do google vc nao aparece como
primeira solucao, ou melhor, a unica solucao para esse problema…..valeu

Leandro Sales
em 28 de junho de 2022 às 12:34 disse:

Valeu

John Schmitz
em 13 de agosto de 2019 às 10:28 disse:

Cara você me salvou muito com esse negócio de plugin, eu tinha visto na
documentação a mudança do nome do campo…

Abraço

10 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

Leandro Sales
em 24 de Janeiro de 2020 às 9:35 disse:

Massa. Valeu

Daniel Paulino
em 26 de agosto de 2019 às 14:29 disse:

Meu brother, muito obrigado, estava há um tempão procurando a solução e não


encontrava, graças a você resolvi o problema, valeu irmão solidariedade em ajudar
os outros. Parabéns!!!

Leandro Sales
em 24 de Janeiro de 2020 às 9:35 disse:

Valeu

Rodrigo Mendes
em 4 de setembro de 2019 às 10:10 disse:

Ótimo post, foi o mais completo que achei!

funcionou aqui pra mim!

Muito Obrigado.

Leandro Sales
em 28 de junho de 2022 às 12:35 disse:

Top

Lucas
em 12 de dezembro de 2019 às 2:20 disse:

11 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

Excelente Post ! Muito obrigado.


Funcionou !

Pingback: Resetar senha root do mysql – Bitmasters

Hebert Ferreira
em 12 de Janeiro de 2020 às 15:17 disse:

Excelente post, sempre que vem atualizações vem novos novidades(problema)

Humberto Cortezia
em 23 de Fevereiro de 2020 às 13:31 disse:

você me salvou cara, obrigado mesmo

Sloan
em 3 de Março de 2020 às 15:43 disse:

Poh cara, deu certo. Valeuuuuuuuuuuuu!!!!

André Sërio
em 1 de outubro de 2020 às 16:20 disse:

Parabéns mano!!!
Até hoje esse tuto salvando vidas!!!

Victor
em 14 de agosto de 2021 às 16:52 disse:

Muito Obrigado!

12 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

João Vitor Oliveira Matos


em 30 de agosto de 2021 às 19:50 disse:

Onde que eu entro pra fazer esse código, amigo?


Não entendi

Leandro Sales
em 28 de junho de 2022 às 11:59 disse:

pelo console

João Vitor Oliveira Matos


em 2 de setembro de 2021 às 16:36 disse:

Onde se entra pra fazer este código ??????

Leandro Sales
em 28 de junho de 2022 às 11:59 disse:

no console

João Vitor Oliveira Matos


em 9 de setembro de 2021 às 11:56 disse:

Onde eu entro para fazer este código?

Leandro Sales
em 28 de junho de 2022 às 11:59 disse:

no console

Tiago

13 of 14 09/08/2023, 01:03
Reset root password no MySQL 5.7.* | Leandro Sales | Programador ... https://www.leandrosales.com.br/2016/09/17/reset-root-password-no...

em 31 de Janeiro de 2023 às 19:26 disse:

Pra mim continua dando o erro… fiz um monte devez e continua


$ sudo service mysql start
$ mysql -u root
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

Leandro Sales
em 14 de Abril de 2023 às 10:29 disse:

Tenta entrar como root da máquina e depois faz o mysql -u root.

14 of 14 09/08/2023, 01:03

Você também pode gostar