GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment réinitialiser le mot de passe root dans MySQL 8 sur Ubuntu Linux

Avez-vous oublié votre base de données MySQL root mot de passe de l'utilisateur? Pas de soucis! Ce guide étape par étape explique comment réinitialiser le mot de passe root dans MySQL 8 sur le système d'exploitation Ubuntu 20.04.

Remarque : Comme vous le savez peut-être déjà, l'utilisateur root de MySQL utilise auth_socket plugin pour s'authentifier auprès du serveur MySQL dans les systèmes Ubuntu exécutant MySQL 5.7 et versions ultérieures. Vous pouvez donc vous connecter au serveur MySQL en tant que root utilisateur avec sudo mysql tant que vous connaissez le sudo de votre utilisateur système le mot de passe. Dans ce cas, il n'est pas nécessaire de changer la root MySQL le mot de passe. Si vous avez déjà modifié la méthode d'authentification pour la racine MySQL utilisateur soit caching_sha2_password ou mysql_native_password , suivez les étapes ci-dessous pour réinitialiser la root mot de passe de la base de données MySQL.

Réinitialiser le mot de passe racine dans MySQL 8 sur Ubuntu Linux

1. Tout d'abord, arrêtez le service MySQL à l'aide de la commande :

$ sudo systemctl stop mysql

Cela arrêtera le service MySQL s'il est en cours d'exécution. Vous pouvez vérifier l'état du service MySQL avec la commande :

$ sudo systemctl status mysql

Exemple de résultat :

● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: inactive (dead) since Mon 2021-05-31 11:01:15 UTC; 1min 15s ago
     Process: 1446 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
    Main PID: 1446 (code=exited, status=0/SUCCESS)
      Status: "Server shutdown complete"
 May 31 07:57:50 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 07:57:51 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
 May 31 11:01:14 ubuntu2004.localdomain systemd[1]: Stopping MySQL Community Server…
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: mysql.service: Succeeded.
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: Stopped MySQL Community Server.

2. Ensuite, démarrez le serveur MySQL sans aucune vérification des autorisations. Pour ce faire, exécutez :

$ sudo systemctl edit mysql

Cela ouvrira le mysql systemd fichier de configuration votre éditeur de texte par défaut. Dans mon cas, c'est nano éditeur.

Ajoutez-y les lignes suivantes :

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

Après avoir ajouté les lignes ci-dessus, appuyez sur CTRL+O et ENTER pour enregistrer le fichier, puis appuyez sur CTRL+X pour le fermer.

Ici, les --skip-grant-tables L'option vous permet de vous connecter au serveur de base de données MySQL sans mot de passe et avec tous les privilèges. Il désactivera également les instructions de gestion de compte telles que ALTER USER et SET PASSWORD . Et le --skip-networking L'option est utilisée pour empêcher les autres clients de se connecter au serveur de base de données. Comme il désactive toutes les connexions à distance, aucun des clients distants ne peut accéder au serveur de base de données tant que vous n'avez pas redémarré le serveur de base de données normalement.

3. Rechargez systemd configuration à l'aide de la commande :

$ sudo systemctl daemon-reload

4. Démarrez le service MySQL :

$ sudo systemctl start mysql

Cela démarrera le serveur MySQL avec --skip-grant-table s et --skip-networking options. Vous pouvez le vérifier en vérifiant l'état du service MySQL :

$ sudo systemctl status mysql
 ● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Drop-In: /etc/systemd/system/mysql.service.d
              └─override.conf
      Active: active (running) since Mon 2021-05-31 11:39:18 UTC; 1min 23s ago
     Process: 1882 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Main PID: 1905 (mysqld)
      Status: "Server is operational"
       Tasks: 36 (limit: 2280)
      Memory: 331.0M
      CGroup: /system.slice/mysql.service
              └─1905 /usr/sbin/mysqld --skip-grant-tables --skip-networking
 May 31 11:39:16 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 11:39:18 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.

5. Maintenant, connectez-vous au serveur MySQL en tant que root utilisateur sans mot de passe :

$ sudo mysql -u root

Vous serez immédiatement redirigé vers l'invite du shell MySQL.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

6. Nous nous sommes connectés au serveur de base de données sans charger les tables de droits (parce que nous avons utilisé --skip-grant-tables option). Nous ne pouvons donc pas utiliser ALTER USER commande dont il avait besoin pour réinitialiser le mot de passe. Pour charger les tables de droits, exécutez la commande suivante à partir de l'invite du shell MySQL :

mysql> FLUSH PRIVILEGES;

7. Ensuite, exécutez l'une des commandes suivantes pour réinitialiser MySQL root mot de passe.

Si vous utilisez caching_sha2_password plug-in, exécutez :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password123#@!';

Si vous utilisez mysql_native_password plugin, lancez ceci à la place :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password123#@!';

Remplacez Password123#@! avec le vôtre.

Après avoir changé la root MySQL mot de passe, quittez l'invite du shell MySQL :

mysql> exit

8. Rétablir le systemd modifié configuration pour revenir aux paramètres normaux à l'aide de la commande :

$ sudo systemctl revert mysql

Cela supprimera tous les fichiers modifiés.

Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.

9. Recharger systemd configuration pour prendre en compte les modifications :

$ sudo systemctl daemon-reload

10. Enfin, redémarrez le serveur MySQL normalement :

$ sudo systemctl restart mysql

11. Vous devriez maintenant pouvoir vous connecter à la base de données MySQL en tant que root utilisateur avec le new password en utilisant la commande :

$ mysql -u root -p

Entrez la root mot de passe pour accéder à l'invite du shell MySQL :

mysql> 

Il existe également un autre moyen de modifier MySQL root mot de passe sous Linux. C'est légèrement différent de cette méthode. Si vous souhaitez en savoir plus, consultez le lien suivant :

>> How To Reset MySQL Root User Password In Linux

Conclusion

Comme vous pouvez le constater, la réinitialisation du mot de passe root MySQL est simple ! Si vous avez suivi attentivement les étapes ci-dessus, vous pouvez récupérer le mot de passe racine de votre base de données MySQL en quelques minutes. Ne le perdez plus. Mémorisez ou enregistrez votre mot de passe dans un endroit sûr.


Ubuntu
  1. Comment réinitialiser le mot de passe root MySql

  2. Comment réinitialiser le mot de passe root MySql

  3. Comment réinitialiser le mot de passe Ubuntu ?

  4. Comment réinitialiser le mot de passe racine du serveur MySQL

  5. Comment réinitialiser le mot de passe racine MySQL

Comment réinitialiser le mot de passe root MySQL

Comment réinitialiser le mot de passe racine Ubuntu 22.04 LTS

Comment changer le mot de passe racine dans Ubuntu Linux

Comment réinitialiser le mot de passe root oublié dans Ubuntu

Comment réinitialiser le mot de passe racine oublié dans Ubuntu Linux

Comment réinitialiser le mot de passe root sur Ubuntu 22.04