Formação Oracle DBA Completa


Como redefinir a senha de root do MySQL ou do MariaDB

Como redefinir a senha de root do MySQL ou do MariaDB

3 de maio de 2018 1 Por Ramos de Souza Janones
Powered by Rock Convert

Se você esqueceu ou perdeu a senha de root do banco de dados MySQL ou MariaDB, tenha calma você ainda poderá obter acesso e redefinir a sua senha. Mas para isso você tem que ter acesso ao servidor, é obvio, e uma conta de superusuário (sudo). Agora vamos aprender como redefinir a senha do root para versões mais antigas e mais recentes do MySQL e do MariaDB.

1 – Identificar a versão do bando de dados

A maioria das distribuições GNU/Linux está vindo com MariaDB, que é um fork do MySQL. Dependendo do banco de dados que você está usado e sua versão, você precisará usar comandos diferentes para recuperar a senha de root.

Você pode verificar sua versão com o seguinte comando:

MySQL:

mysql --version

 

MariaDB:

mariadb --version

 

VAI GOSTAR: Guia Jurídico Definitivo para Startups

VEJA TAMBÉM: Sucesso na Carreira com o LinkedIn

RECOMENDAMOS: Curso de Desenvolvimento de Games Completo

LEIA: Como Aprender Java e ir além do mercado de trabalho tradicional


Anote qual banco de dados e versão que você está executando, pois você vai usar mais tarde. Em seguida, você precisa parar o banco de dados para poder acessá-lo manualmente.

2 – Parando o servidor de banco de dados

Para alterar a senha do root, você precisa parar o servidor de banco de dados com antecedência.

Você pode fazer isso para o MySQL, com esse comando:

sudo systemctl stop mysql

 

Você pode fazer isso para o MariaDB, com esse comando:

sudo systemctl stop mariadb

 

Depois que o servidor de banco de dados for parado, você o pode acessar ele manualmente para redefinir a senha de root. 

3 -Reiniciando o servidor de banco de dados sem verificação de permissão

Se você executar o MySQL e o MariaDB sem carregar informações sobre privilégios de usuário, ele permitirá que você acesse a linha de comando do banco de dados com privilégios de root sem fornecer uma senha. Isso permitirá que você obtenha acesso ao banco de dados.

Para fazer isso, você precisa parar o banco de dados de carregar as tabelas de permissões (grant tables), que armazenam informações de privilégios de usuário. Como isso é um risco de segurança, você também deve desativar a conexão pela internet, para evitar que outros clientes se conectem ou pessoas mal-intencionadas.

Inicie o banco de dados sem carregar as tabelas de permissões e sem conexão a rede:

sudo mysqld_safe --skip-grant-tables --skip-networking &

 

LEIA TAMBÉM:  Instrução Insert MySQL e JSON com todos os bancos brasileiros

O “e” comercial no final desse comando é para o processo seja executado em segundo plano para que você possa continuar a usar seu terminal.

Agora você pode se conectar ao banco de dados como o usuário root, sem que ele peça sua senha.

mysql -u root

 

Agora que você tem acesso root, você pode alterar a senha do root.

4- Alterando a senha do root

Uma maneira simples de alterar a senha do root para versões recentes do MySQL é usando o comando ALTER USER. No entanto, esse comando não funcionará agora porque as tabelas de permissões não estão carregadas.

Vamos dizer ao servidor de banco de dados para recarregar as tabelas de permissões emitindo o comando FLUSH PRIVILEGES.

FLUSH PRIVILEGES;

 

Para o MySQL 5.7.6 e mais recentes, bem como o MariaDB 10.1.20 e mais recentes, use o seguinte comando:

Powered by Rock Convert
ALTER USER 'root'@'localhost' IDENTIFIED BY 'nova-senha';

 

Para o MySQL 5.7.5 e mais antigo, bem como o MariaDB 10.1.20 e mais antigo, use:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('nova-senha');

 

Certifique-se de substituir nova-senha pela senha que você vai querer colocar para o seu usuário root.

Nota: Se o comando ALTER USER não funcionar, geralmente é indicativo de um problema maior. No entanto, você pode tentar UPDATE … SET para redefinir a senha de root.
UPDATE mysql.user SET authentication_string = PASSWORD(nova-senha') WHERE User = 'root' AND Host = 'localhost';

 

Se você usou o comando anterior o UPDATE … SET, lembre-se de recarregar as tabelas de permissões depois disso, com esse comando:
FLUSH PRIVILEGES;

 

Feito isso, saia do prompt do bando de dados:

exit;

 

Em ambos os casos, você deve ver a confirmação de que o comando foi executado com sucesso.

5- Reiniciando o bando de dados

Primeiro, pare a instância do servidor de banco de dados que você iniciou manualmente na Etapa 3. Esse comando procura pelo PID, ou processo ID, do processo MySQL ou MariaDB e envia SIGTERM para que ele saia sem problemas após executar as operações de limpeza.

Para o MySQL, use:

sudo kill `cat /var/run/mysqld/mysqld.pid`

 

LEIA TAMBÉM:  Entre para a lista VIP Ramos da Informática

Para MariaDB, use:

sudo kill `/var/run/mariadb/mariadb.pid`

 

Em seguida, inicie o servidor.

Para MySQL, use:

sudo systemctl start mysql

 

Para MariaDB, use:

sudo systemctl start mariadb

 

Agora você pode confirmar que a nova senha foi aplicada corretamente executando:

mysql -u root -p

 

O comando anterior vai solicitar a senha, você deve informar a senha que você acabou de configurar. Com isso, você vai obter acesso ao prompt do banco de dados conforme o esperado.

Banco de dados

Artigos e dicas sobre banco de dados que você vai gostar:

MongoDB

– Principais diferenças entre MongoDB e MySQL ou outro RDBMS

– Southbank Software apresenta dbKoda: uma ferramenta de desenvolvimento Open Source para MongoDB

 

MySQL e Instruções SQL em geral

 

– SQL e Regex – Entenda quando e como usar em instruções SQL

– MySQL – Manter o formato Date e DateTime em formato dd/mm/Year e dd/mm/Year:HH:mm:ss

– SQL – O que são VIEWS SQL, vantagens e desvantagens

– Instrução Insert MySQL e JSON com todos os bancos brasileiros

– PHP e MySQL – Entendendo as codificações iso-8859-1 e UTF-8 e outras

– Como redefinir a senha de root do MySQL ou do MariaDB

– Para que serve uma MySQL Transaction?

– Banco de Dados – Índices desnecessários no banco são um problema?

– Entenda a diferença entre LIKE, IN e BETWEEN no MySQL

– LinkedIn desenvolve a ferramenta MySQL Query Analyzer

– Como otimizar consultas MySQL

– Quando é interessante desnormalizar o banco de dados?

– Entenda Views em SQL, vantagens e desvantagens

– O que é normalização de banco de dados

– Por que não devemos usar funções do tipo mysql_*

SQL – Entenda as diferenças entre aspas simples e duplas

– SQL – Not IN ou Not EXISTS quando usar?

– SQL – Entendendo JOINS

– PHP Do Zero Ao Profissional – Análise do Curso

Subscribe to our mailing list

* indicates required


Além de PHP e MySQL, deseja receber outro tema?

Email Format


Siga os bons!

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.

Últimos posts por Ramos de Souza Janones (exibir todos)

Sumário
Como redefinir a senha de root do MySQL ou do MariaDB
Nome do artigo
Como redefinir a senha de root do MySQL ou do MariaDB
Descrição
Se você esqueceu ou perdeu a senha de root do banco de dados MySQL ou MariaDB, tenha calma você ainda poderá obter acesso e redefinir a sua senha. Mas para isso você tem que ter acesso ao servidor, é obvio, e uma conta de superusuário (sudo). Agora vamos aprender como redefinir a senha do root para versões mais antigas e mais recentes do MySQL e do MariaDB.
Autor
Nome
Ramos da Informática
Logo

Frontend Do Zero Ao Profissional