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 13:48] 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 =====
  
  
 Para alterar a senha root, você deve encerrar o servidor de banco de dados previamente. Para alterar a senha root, você deve encerrar o servidor de banco de dados previamente.
  
-Você pode fazer isso para MySQL com:+Desativando Mysql:
  
   sudo systemctl stop mysql   sudo systemctl stop mysql
      
 +Desativando Mariadb:
 +  
 +  sudo systemctl stop mariadb
 +  
 +
 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 44: Ligne 57:
  
 Inicie o banco de dados sem carregar as tabelas de concessão ou ativar a rede: Inicie o banco de dados sem carregar as tabelas de concessão ou ativar a rede:
 +
 +  sudo mysqld_safe --skip-grant-tables --skip-networking &
      
-  sudo systemctl stop mariadb+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