Learning Center
MySQL Banco

Como redefinir a senha root do MySQL: guia passo a passo

29 jan. 2026
Hostman Team
Hostman Team

O acesso a bancos de dados é uma tarefa fundamental para o gerenciamento de servidores e a manutenção de aplicações web.

MySQL é um dos sistemas de gerenciamento de banco de dados (DBMS) mais comuns e poderosos. Como administrador de banco de dados, você gerencia informações críticas, e a senha root do MySQL desempenha um papel crucial para garantir a segurança e a integridade desses dados.

Em alguns momentos, você pode perder ou esquecer a senha root do MySQL. Isso pode acontecer por diversos motivos, desde circunstâncias imprevistas até mudanças na equipe ou simples erros humanos. Nesses casos, é essencial saber como redefinir a senha root e recuperar o acesso ao banco de dados.

Neste artigo, apresentamos métodos e ferramentas para ajudar você a redefinir a senha root do MySQL e restaurar o controle total sobre o seu banco de dados. Abordaremos diferentes abordagens, desde o uso de ferramentas oficiais do MySQL, como mysqladmin e mysqld_safe, até a edição de arquivos de configuração e a realização de alterações no sistema.

Também discutiremos precauções importantes para ajudar a proteger o seu banco de dados e evitar que a senha root seja perdida no futuro. Isso inclui o uso de senhas fortes, a limitação do acesso ao banco de dados apenas aos usuários necessários e a realização de backups regulares para minimizar riscos.

Portanto, se você precisa redefinir a senha root do MySQL, abaixo estão instruções detalhadas e recomendações para ajudar você a recuperar o acesso e retomar o gerenciamento do seu banco de dados MySQL.

Métodos para redefinir a senha do MySQL
Copiar link

O MySQL não utiliza PAM, e a senha SSH não funcionará. A senha root é definida durante a instalação do servidor de banco de dados, na etapa de criação das tabelas de privilégios.

Se, após uma tentativa de login, você receber o erro ERROR 1045: Access denied for user 'root'@'localhost' em vez de uma mensagem de boas-vindas, será necessário redefinir a senha root.

Para redefinir a senha root no MySQL 8, é preciso seguir um procedimento simples. Este método é igualmente adequado para MySQL e MariaDB, pois são totalmente compatíveis e utilizam os mesmos comandos.

No Ubuntu, você pode redefinir a senha root do MySQL usando os mesmos métodos do Debian. Pode haver uma pequena diferença no CentOS 7, que indicaremos na seção correspondente abaixo.

Se você também estiver fazendo a limpeza de contas de usuários, confira How to Properly Delete a MySQL User, que aborda a verificação e revogação de permissões e o uso do comando DROP USER, ajudando a remover acessos desnecessários após a restauração dos privilégios de root.

Como redefinir a senha root do MySQL usando skip-grant-tables
Copiar link

Este é um método bastante comum devido à sua simplicidade. A seguir, apresentamos um plano passo a passo para essa operação:

Passo 1: parar o serviço do banco de dados

service mysqld stop

Passo 2: iniciar o serviço sem as tabelas de privilégios

mysqld --skip-grant-tables&

O e comercial no final permite executar o serviço em segundo plano, de modo que ele não ocupe uma janela de terminal separada.

Passo 3: conectar-se ao servidor

Como as tabelas de privilégios não estão carregadas, não é necessário inserir uma senha:

mysql -u root

Passo 4: carregar as tabelas de privilégios

Cada comando enviado ao banco de dados deve terminar com ponto e vírgula. Se a consulta não for concluída, o MySQL aguardará a continuação do comando. Você pode simplesmente adicionar um ponto e vírgula caso ele tenha sido esquecido na nova linha.

FLUSH PRIVILEGES;

A resposta deve ser: Query OK, 0 rows affected.

Passo 5: definir uma nova senha root

Para definir uma nova senha root no MySQL, no Ubuntu e Debian, utilize:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';

Se essa consulta não funcionar, tente:

UPDATE `mysql`.`user` SET `password`=password('PASSWORD') WHERE `user`='root';

Ou:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('PASSWORD');

No CentOS 7, você pode redefinir a senha root do MySQL com o comando:

UPDATE `mysql`.`user` SET `authentication_string`=password('PASSWORD') WHERE `user`='root';

Se for executado com sucesso, você verá a resposta: Query OK, 0 rows affected.

A senha pode até ser um valor vazio, mas, nesse caso, você perderá a capacidade de se conectar ao servidor por qualquer outro meio que não seja a linha de comando. A alteração da senha entra em vigor imediatamente após a execução do comando. Você pode verificá-la, por exemplo, conectando-se pelo phpMyAdmin se nenhum valor vazio tiver sido definido.

Passo 6: sair do MySQL

quit;

A resposta deve ser Bye, e você retornará ao terminal normal.

Passo 7: iniciar o servidor de banco de dados em modo normal

service mysqld start

Como redefinir a senha root do MySQL no Windows
Copiar link

A redefinição da senha do superusuário do MySQL no Windows é semelhante ao procedimento para redefinir a senha root em sistemas Linux. As diferenças podem estar apenas no processo de localização e inicialização do próprio serviço de banco de dados.

A seguir, apresentamos um guia passo a passo para redefinir a senha do superusuário do banco de dados no Windows.

Passo 1: abrir o Prompt de Comando como administrador

Há uma diferença dependendo de qual banco de dados está instalado. Para verificar, execute:

Para MySQL:

sc qc "mysql"

Para MariaDB:

sc qc "mariadb"

Se o banco de dados não estiver instalado, você verá a mensagem informando que o serviço não existe. Caso contrário, verá informações básicas sobre o MySQL ou o MariaDB.

Passo 2: navegar até o executável do serviço de banco de dados

Se a variável %PATH% não estiver definida, vá até a pasta que contém o arquivo executável do serviço de banco de dados. Você pode encontrar o caminho na saída do comando sc qc, em "BINARY_PATH_NAME". No nosso caso, é C:\localhost\mariadb\bin\.

cd C:\localhost\mariadb\bin\

Passo 3: parar o serviço em execução

Para MySQL:

net stop mysql

Para MariaDB:

net stop mariadb

Passo 4: abrir uma nova janela do Prompt de Comando

Use o comando start. Diferentemente do Linux, no Windows o e comercial no final do comando não funciona e, quando o serviço é iniciado, ele não permitirá a execução de outros comandos até que a sessão seja encerrada (CTRL+C).

Passo 5: iniciar o servidor sem privilégios

Você pode usar o mesmo comando tanto para MySQL quanto para MariaDB.

mysqld --skip-grant-tables

Passo 6: na segunda janela, digitar:

mysql -u root -p

Digite a senha em branco e você verá a mensagem de boas-vindas padrão. Agora, é necessário inserir os comandos para o servidor de banco de dados.

Passo 7: executar o comando inicial

FLUSH PRIVILEGES;

Sem esse comando inicial, você pode receber um erro ao alterar a senha: "ERROR 1290: The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement."

Passo 8: executar o comando para alterar a senha

ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';

Observação: se o comando não funcionar, tente as opções do Passo 5 das instruções para sistemas Linux.

Feche a janela do Prompt de Comando com a versão temporária do banco de dados em execução ou pressione CTRL+C.

Passo 9: iniciar o serviço do sistema

Para MySQL:

net start mysql

Para MariaDB:

net start mariadb

Conclusão
Copiar link

Redefinir a senha root do MySQL é uma habilidade importante para administradores de banco de dados. Neste artigo, analisamos vários métodos e ferramentas para redefinir a senha root e recuperar o controle total sobre o banco de dados MySQL gerenciado.

Em conclusão, seguem alguns pontos-chave sobre a segurança de bancos de dados:

  • Utilize senhas complexas que combinem letras, números e caracteres especiais e altere-as regularmente.

  • Limite o acesso ao banco de dados apenas aos usuários essenciais para minimizar o risco de acesso não autorizado.

  • Atualize o sistema MySQL regularmente para eliminar vulnerabilidades conhecidas e receber os patches de segurança mais recentes.

  • Realize backups regulares do banco de dados. Essa é a sua garantia em caso de perda de dados ou falhas no sistema. Desenvolva uma estratégia de backup, defina a frequência e os métodos de criação dos backups e verifique a capacidade de restauração para garantir a recuperação dos dados.

  • Lembre-se da importância do treinamento e do desenvolvimento contínuo na administração de bancos de dados. Mantenha-se informado sobre as últimas tendências, novos recursos e ferramentas do MySQL. Utilize recursos educacionais, participe de seminários e conferências e troque experiências com profissionais experientes da área. Atualizar constantemente seus conhecimentos e habilidades ajudará você a gerenciar o banco de dados de forma eficaz e a resolver problemas emergentes.

Redefinir a senha root do MySQL é uma tarefa crítica que exige atenção e conhecimento. No entanto, com os métodos e recomendações apresentados, você pode realizar essa tarefa e recuperar o controle completo sobre o seu banco de dados MySQL. Lembre-se de garantir a segurança, criar backups e continuar aprendendo, e o seu trabalho com MySQL será bem-sucedido e seguro.