Maison >base de données >tutoriel mysql >Linux MySQL a oublié le mot de passe root

Linux MySQL a oublié le mot de passe root

王林
王林original
2023-05-23 10:02:362406parcourir

Linux MySQL Mot de passe root oublié

Lorsque nous utilisons un système Linux et installons une base de données MySQL, nous créons généralement un utilisateur root en tant qu'administrateur. Mais parfois, nous pouvons oublier le mot de passe de l'utilisateur root ou rencontrer une situation telle que l'impossibilité de se connecter en tant qu'utilisateur root. Une telle situation pourrait entraîner l’impossibilité d’accéder, de maintenir et de sauvegarder nos bases de données, ce qui pourrait avoir un impact sur notre activité. Par conséquent, cet article présentera quelques solutions pour nous aider à réinitialiser le mot de passe root MySQL.

Méthode 1 : Utilisez l'outil de ligne de commande mysqladmin

L'outil de ligne de commande mysqladmin est un outil couramment utilisé dans MySQL, qui peut être utilisé pour effectuer certaines opérations de gestion MySQL. Nous pouvons l'utiliser pour réinitialiser le mot de passe de l'utilisateur root.

  1. Tout d'abord, nous devons arrêter le service MySQL et fermer la base de données MySQL :
sudo systemctl stop mysql
  1. Ensuite, nous devons exécuter MySQL avec les autorisations sudo Commandes de gestion des services et ignorer l'authentification d'autorisation pour éviter de ne pas pouvoir se connecter :
sudo mysqld_safe --skip-grant-tables &
  1. Ensuite, nous devons entrer la ligne de commande MySQL : #🎜🎜 #
  2. sudo mysql -u root
    # 🎜🎜#
Maintenant, nous sommes entrés dans la ligne de commande MySQL et avons entré la commande suivante (remarque : le nouveau mot de passe doit être défini en fonction de la situation réelle) :
    # 🎜🎜#
    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
  1. Pour Pour que le mot de passe que nous venons de définir prenne effet, nous devons actualiser les autorisations :
    FLUSH PRIVILEGES;
  1. Enfin, nous quittez la ligne de commande MySQL, arrêtez le service MySQL et redémarrez le service :
    exit
    sudo systemctl stop mysql
    sudo systemctl start mysql
  1. À ce stade, nous avons réussi à réinitialiser le mot de passe root MySQL. Vous pouvez vous reconnecter à MySQL en utilisant le nouveau mot de passe.
Méthode 2 : utilisez le script mysql_secure_installation

Le script mysql_secure_installation est un outil d'installation fourni par MySQL. Il effectue les paramètres de sécurité MySQL de manière interactive, notamment la suppression des utilisateurs anonymes et la fermeture de la connexion externe. en tant que root, supprimez la base de données de test, etc. De plus, il peut être utilisé pour réinitialiser le mot de passe de l’utilisateur root.

Nous devons exécuter le script avec les autorisations sudo :

    sudo mysql_secure_installation
  1. Lors de l'exécution du script, nous rencontrerons plusieurs problèmes . Premièrement, cela nous donnera la possibilité de supprimer les utilisateurs anonymes. Si vous souhaitez garder l'utilisateur anonyme, sélectionnez Non. Sinon, sélectionnez Oui.
    Ensuite, il nous demandera de définir un nouveau mot de passe d'utilisateur root. Entrez le nouveau mot de passe et confirmez.
  1. Ensuite, le script nous laissera choisir d'interdire ou non la connexion à distance pour l'utilisateur root. Si vous souhaitez autoriser la connexion à distance, sélectionnez Non. Sinon, sélectionnez Oui.
  2. Enfin, le script nous demandera si nous souhaitons supprimer la base de données de test. Si vous souhaitez continuer à utiliser la base de données de test, sélectionnez Non. Sinon, sélectionnez Oui pour supprimer la base de données de test.
  3. Nous avons maintenant réussi à réinitialiser le mot de passe root MySQL et à définir certains paramètres de sécurité à l'aide du script mysql_secure_installation. Vous pouvez vous reconnecter à MySQL en utilisant le nouveau mot de passe.
Méthode 3 : Récupérer le mot de passe du fichier de base de données

Si les deux méthodes ci-dessus ne fonctionnent pas, nous pouvons essayer de récupérer le mot de passe du fichier de base de données. Cependant, cette méthode comporte certains risques et peut entraîner une perte de données ou endommager la structure de la base de données. Par conséquent, nous devons procéder avec prudence et nous assurer que nous avons sauvegardé la base de données.

Arrêtez le service MySQL et sauvegardez le fichier de base de données :

    sudo systemctl stop mysql
    sudo cp -a /var/lib/mysql /var/lib/mysql.bak
  1. Modifiez le fichier de configuration MySQL et ajoutez la ligne suivante : #🎜🎜 #
skip-grant-tables
sudo nano /etc/mysql/my.cnf
    Enregistrez et quittez.
Maintenant, nous devons démarrer le service MySQL en tant qu'utilisateur avec les autorisations sudo :

sudo mysqld_safe &
  1. Ensuite, nous pouvons utiliser la commande suivante pour entrer dans la ligne de commande MySQL :
sudo mysql -u root
  1. Ensuite, nous devons vérifier et réparer la table de la base de données MySQL :
mysql> use mysql;
mysql> repair table user;
mysql> exit
# 🎜🎜##🎜 🎜#À ce stade, nous avons réussi à entrer dans la ligne de commande MySQL. Vous pouvez utiliser la commande suivante pour réinitialiser le mot de passe de l'utilisateur root (remarque : le nouveau mot de passe doit être défini en fonction de la situation réelle) :
  1. mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    mysql> exit
Enfin, nous avons besoin pour arrêter le service MySQL et restaurer notre fichier de configuration précédemment modifié :
  1. sudo nano /etc/mysql/my.cnf
  2. Supprimez la ligne skip-grant-tables, enregistrez et quittez.
sudo systemctl stop mysql
sudo systemctl start mysql
    À ce stade, nous avons réussi à récupérer le mot de passe root MySQL à partir du fichier de base de données. Vous pouvez vous reconnecter à MySQL en utilisant le nouveau mot de passe.
  1. Résumé

Lorsque vous utilisez une base de données Linux MySQL, si vous rencontrez la situation d'oubli du mot de passe root ou d'impossibilité de vous connecter, vous pouvez utiliser les trois méthodes ci-dessus pour réinitialiser le mot de passe. Cependant, ces méthodes comportent certains risques. Veuillez vous assurer d'avoir sauvegardé la base de données et d'opérer avec prudence. Il est également recommandé de définir un mot de passe fort et de le modifier régulièrement pour améliorer la sécurité de la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn