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

王林
Libérer: 2023-05-23 10:02:36
original
2405 Les gens l'ont consulté

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
Copier après la connexion
  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 &
Copier après la connexion
  1. Ensuite, nous devons entrer la ligne de commande MySQL : #🎜🎜 #
  2. sudo mysql -u root
    Copier après la connexion
    Copier après la connexion
    # 🎜🎜#
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';
    Copier après la connexion
  1. Pour Pour que le mot de passe que nous venons de définir prenne effet, nous devons actualiser les autorisations :
    FLUSH PRIVILEGES;
    Copier après la connexion
  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
    Copier après la connexion
  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
    Copier après la connexion
  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
    Copier après la connexion
  1. Modifiez le fichier de configuration MySQL et ajoutez la ligne suivante : #🎜🎜 #
skip-grant-tables
Copier après la connexion
sudo nano /etc/mysql/my.cnf
Copier après la connexion
Copier après la connexion
    Enregistrez et quittez.
Maintenant, nous devons démarrer le service MySQL en tant qu'utilisateur avec les autorisations sudo :

sudo mysqld_safe &
Copier après la connexion
  1. Ensuite, nous pouvons utiliser la commande suivante pour entrer dans la ligne de commande MySQL :
sudo mysql -u root
Copier après la connexion
Copier après la connexion
  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
Copier après la connexion
# 🎜🎜##🎜 🎜#À 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
    Copier après la connexion
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
    Copier après la connexion
    Copier après la connexion
  2. Supprimez la ligne skip-grant-tables, enregistrez et quittez.
sudo systemctl stop mysql
sudo systemctl start mysql
Copier après la connexion
    À 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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal