Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
debian:senha-mysql-mariadb [2024/06/24 14:51] thierrydebian:senha-mysql-mariadb [2024/06/24 19:27] (Version actuelle) – [Introdução] thierry
Ligne 1: Ligne 1:
-===== Pré-requisitos =====+===== Redefinir sua senha root do MySQL ou MariaDB ===== 
 + 
 +==== Introdução ==== 
 + 
 +Esquecer senhas acontece com todos nós. Se você **esquecer ou perder a senha root** do seu banco de dados MySQL ou MariaDB, você ainda poderá obter acesso e redefinir a senha se tiver acesso ao servidor e uma conta de usuário habilitada para sudo. 
 + 
 +Este tutorial abordará a redefinição da senha root para versões mais antigas e mais recentes do MySQL e MariaDB. 
 + 
 +==== Pré-requisitos ====
  
 Para recuperar sua senha root do MySQL/MariaDB, você precisará de: Para recuperar sua senha root do MySQL/MariaDB, você precisará de:
Ligne 5: Ligne 13:
  Acesso ao servidor MySQL ou MariaDB Linux com um usuário sudo.  Acesso ao servidor MySQL ou MariaDB Linux com um usuário sudo.
  
-Passo — Identificando a versão do banco de dados+ ===== 1Identificando a versão do banco de dados =====
  
 A maioria das distribuições Linux modernas vem com MySQL ou MariaDB, um substituto popular que é totalmente compatível com MySQL. Dependendo do banco de dados utilizado e sua versão, você deve utilizar comandos diferentes para recuperar a senha root. A maioria das distribuições Linux modernas vem com MySQL ou MariaDB, um substituto popular que é totalmente compatível com MySQL. Dependendo do banco de dados utilizado e sua versão, você deve utilizar comandos diferentes para recuperar a senha root.
Ligne 25: Ligne 33:
 Observe qual banco de dados e versão você está executando, pois você os usará mais tarde. Em seguida, você precisa parar o banco de dados para acessá-lo manualmente. Observe qual banco de dados e versão você está executando, pois você os usará mais tarde. Em seguida, você precisa parar o banco de dados para acessá-lo manualmente.
  
-===== Parando o Servidor de Banco de Dados =====+===== 2- Parando o Servidor de Banco de Dados =====
  
  
Ligne 41: Ligne 49:
 Depois que o servidor de banco de dados for interrompido, você o acessará manualmente para redefinir a senha root. Depois que o servidor de banco de dados for interrompido, você o acessará manualmente para redefinir a senha root.
  
-===== Reiniciando o servidor de banco de dados sem verificação de permissão =====+===== 3- Reiniciando o servidor de banco de dados sem verificação de permissão =====
  
  
Ligne 52: Ligne 60:
   sudo mysqld_safe --skip-grant-tables --skip-networking &   sudo mysqld_safe --skip-grant-tables --skip-networking &
      
 +O e comercial no final deste comando fará com que este 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 usuário root, o que não deve exigir senha.
 +
 +  mysql -u root  
      
 +Você verá imediatamente um prompt do shell do banco de dados.
 +
 +Solicitação do MySQL:
      
 +  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 +  
 +  mysql>
 +
 +Solicitação do MariaDB:
 +
 +  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 +  
 +  MariaDB [(none)]>
 +  
 +Agora que você tem acesso root, você pode alterar a senha root.
 +
 +===== 4- Alterando a senha root =====
 +
 +Uma maneira simples de alterar a senha root para versões modernas do MySQL é usando o comando ALTER USER. No entanto, este comando não funcionará agora porque as tabelas de concessão 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;
 +  
 +Agora podemos alterar a senha do root.
 +
 +Use o seguinte comando para MySQL 5.7.6 e mais recente e MariaDB 10.1.20 e mais recente.
 +
 +  ALTER USER 'root'@'localhost' IDENTIFIED BY 'nova_senha';
 +
 +Para MySQL 5.7.5 e anteriores, bem como MariaDB 10.1.20 e anteriores, use:
 +
 +  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('nova_senha');
 +  
 +Certifique-se de substituir nova_senha pela nova senha de sua escolha.
 +
 +
 +''Nota: Se o comando ALTER USER não funcionar, geralmente indica um problema maior. No entanto, você pode tentar UPDATE... SET para redefinir a senha root.''
 +
 +  UPDATE mysql.user SET authentication_string = PASSWORD('nova_senha') WHERE User = 'root' AND Host = 'localhost';
 +  
 +Em ambos os casos, você deverá ver a confirmação de que o comando foi executado com sucesso da seguinte forma:
 +
 +  Output
 +  Query OK, 0 rows affected (0.00 sec)
 +  
 +A senha foi alterada, então agora você pode parar a instância manual do servidor de banco de dados e reiniciá-lo como estava antes.
 +
 +===== 5- Reinicie o servidor de banco de dados normalmente =====
 +
 +Primeiro, pare a instância do servidor de banco de dados que você iniciou manualmente na Etapa 3. Este comando procura o PID, ou ID do processo, do processo MySQL ou MariaDB e envia SIGTERM para instruí-lo a sair sem problemas após realizar as operações de limpeza. Você pode aprender mais neste tutorial de gerenciamento de processos Linux.
 +
 +Para MySQL, use:
 +
 +  sudo kill `cat /var/run/mysqld/mysqld.pid`
 +
 +Para MariaDB, use:
 +
 +  sudo kill `/var/run/mariadb/mariadb.pid`
 +
 +
 +Em seguida, reinicie o serviço usando systemctl.
 +
 +
 +Para iniciar MySQL, use:
 +
 +  sudo systemctl start mysql
 +
 +Para iniciar MariaDB, use:
 +
 +  sudo systemctl start mariadb
 +
 +Agora você pode confirmar se a nova senha foi aplicada corretamente executando:
 +
 +  mysql -u root -p
 +
 +O comando agora deve solicitar a senha recém-atribuída. Insira-o e você deverá obter acesso ao prompt do banco de dados conforme esperado.
 +Conclusão
 +
 +Agora você tem acesso administrativo ao servidor MySQL ou MariaDB restaurado. Certifique-se de que a nova senha root escolhida seja forte e segura e mantenha-a em um local seguro.
 +
Haut de page