Maison > Article > base de données > mot de passe mysql oublié
MySQL est un système de gestion de base de données relationnelle couramment utilisé qui peut être utilisé pour le stockage, le traitement et l'analyse de données. Lors de l'utilisation de MySQL, nous pouvons rencontrer le problème de l'oubli du mot de passe. Si ce problème n'est pas résolu à temps, cela aura un impact inutile sur notre travail et nos données. Dans cet article, je présenterai aux lecteurs comment résoudre le problème si vous oubliez votre mot de passe MySQL.
Tout d'abord, nous devons comprendre comment les mots de passe MySQL sont stockés. MySQL stocke les mots de passe sous forme de chaînes de hachage cryptées. Ce processus est réalisé à l'aide de la fonction de cryptage SHA1() et d'une chaîne aléatoire appelée Salt. Ce processus de cryptage étant irréversible, nous devons prendre des mesures spécifiques pour récupérer le mot de passe MySQL.
Ensuite, je présenterai aux lecteurs quelques méthodes couramment utilisées pour récupérer les mots de passe MySQL :
Méthode 1 : utilisez l'utilisateur root pour changer le mot de passe
Si vous disposez des autorisations root, vous pouvez utiliser les étapes suivantes pour changer le mot de passe :
1. Connectez-vous au serveur MySQL en tant que root
mysql -u root -p
mysql -u root -p
2.输入root用户密码
3.进入MySQL命令行
4.进入mysql命令行后,使用以下命令来修改root用户密码:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;
5.退出MySQL,使用新密码重新登录
在使用MySQL时,root用户具有最高的权限,因此如果您知道root用户的密码,那么修改MySQL的密码就变得非常简单了。
方法二:重置MySQL密码
如果您无法通过root用户来修改密码,或者根本不知道root密码,那么重置MySQL密码可能是您的最佳选择。以下是两种常用的重置MySQL密码的方法:
方法1:使用skip-grant-tables重置MySQL密码
这种方法将跳过MySQL的用户认证过程,并允许您无需提供密码就可以登录MySQL。以下是具体步骤:
1.停止MySQL服务
sudo systemctl stop mysql
2.执行以下命令以跳过MySQL的用户认证过程:
sudo mysqld_safe --skip-grant-tables &
3.以root身份登录MySQL服务器
mysql -u root
4.在进入MySQL命令行后,使用以下命令来修改密码:
mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;
5.刷新mysql.user表
mysql> FLUSH PRIVILEGES;
6.退出MySQL,并重新启动MySQL
sudo systemctl start mysql
7.使用新密码重新登录MySQL
方法2:使用重置脚本重置MySQL密码
这种方法需要您以root身份运行脚本,并且需要知道MySQL的数据文件所在位置。以下是具体步骤:
1.停止MySQL服务
sudo systemctl stop mysql
2.找到MySQL的数据文件
MySQL默认将数据文件存储在/var/lib/mysql目录下。执行以下命令可以找到数据文件的确切位置:
sudo find / -name "*.frm"
3.创建重置脚本
请使用以下命令将以下代码保存到resetmysql.sh文件中:
#!/bin/bash /usr/sbin/mysqld --skip-grant-tables --skip-networking & sleep 5s mysql -u root <<EOF UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; EOF killall mysqld sleep 5s /usr/sbin/mysqld --skip-networking &
请将“new_password”替换为您要设置的新密码。
4.运行脚本重置MySQL密码
使用以下命令以root权限运行重置脚本:
sudo bash resetmysql.sh
5.启动MySQL
sudo systemctl start mysql
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
Veuillez remplacer "new_password" avec le nouveau mot de passe que vous souhaitez définir et assurez-vous d'ajouter un point-virgule à la fin de la ligne de commande MySQL ; 🎜🎜5 Quittez MySQL et reconnectez-vous avec le nouveau mot de passe 🎜🎜Lorsque vous utilisez MySQL, le root. L'utilisateur dispose des autorisations les plus élevées, donc si vous connaissez le mot de passe de l'utilisateur root, modifier les mots de passe MySQL devient très simple. 🎜🎜Deuxième méthode : réinitialiser le mot de passe MySQL🎜🎜Si vous ne pouvez pas modifier le mot de passe via l'utilisateur root, ou si vous ne connaissez pas du tout le mot de passe root, la réinitialisation du mot de passe MySQL peut être votre meilleur choix. Voici deux méthodes couramment utilisées pour réinitialiser le mot de passe MySQL : 🎜🎜Méthode 1 : Réinitialiser le mot de passe MySQL à l'aide de skip-grant-tables 🎜🎜Cette méthode ignorera le processus d'authentification de l'utilisateur de MySQL et vous permettra de le faire sans fournir de mot de passe. Connectez-vous à MySQL. Voici les étapes spécifiques : 🎜🎜1. Arrêtez le service MySQL 🎜🎜sudo systemctl stop mysql
🎜🎜2 Exécutez la commande suivante pour ignorer le processus d'authentification des utilisateurs de MySQL : 🎜🎜. sudo mysqld_safe -- skip-grant-tables &
🎜🎜3. Connectez-vous au serveur MySQL en tant que root🎜🎜mysql -u root
🎜🎜4. utilisez la commande suivante pour changer le mot de passe :🎜🎜mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
🎜🎜Veuillez remplacer "new_password" par le nouveau mot de passe que vous souhaitez définir et assurez-vous d'ajouter un point-virgule à la fin de la ligne de commande MySQL ; 🎜🎜5 Actualisez la table mysql.user 🎜🎜mysql>
🎜🎜6. MySQL et redémarrez MySQL 🎜🎜sudo systemctl start mysql
🎜🎜7 Reconnectez-vous à MySQL en utilisant le nouveau mot de passe🎜🎜Méthode 2 : utilisez le script de réinitialisation pour réinitialiser le mot de passe MySQL🎜🎜Cette méthode nécessite que vous pour exécuter le script en tant que root et doit connaître les fichiers de données de l'emplacement MySQL. Voici les étapes spécifiques : 🎜🎜1. Arrêtez le service MySQL 🎜🎜sudo systemctl stop mysql
🎜🎜2. Recherchez le fichier de données MySQL 🎜🎜MySQL stocke le fichier de données dans /var/lib. /mysql répertoire par défaut Down. L'emplacement exact des fichiers de données peut être trouvé en exécutant la commande suivante : 🎜🎜sudo find / -name "*.frm"
🎜🎜3 Créez un script de réinitialisation 🎜🎜 Veuillez utiliser la commande suivante. pour enregistrer le code suivant pour réinitialiser mysql Dans le fichier .sh : 🎜rrreee🎜Veuillez remplacer "new_password" par le nouveau mot de passe que vous souhaitez définir. 🎜🎜4. Exécutez le script pour réinitialiser le mot de passe MySQL 🎜🎜Utilisez la commande suivante pour exécuter le script de réinitialisation avec les privilèges root : 🎜🎜sudo bash resetmysql.sh
🎜🎜5 Démarrez MySQL 🎜🎜<. code>sudo systemctl start mysql🎜🎜6. Connectez-vous à nouveau à MySQL avec un nouveau mot de passe🎜🎜À ce stade, les lecteurs devraient déjà connaître les deux méthodes suivantes pour résoudre le problème du mot de passe MySQL oublié : utilisez l'utilisateur root. pour changer le mot de passe et utilisez le script de réinitialisation du mot de passe MySQL pour réinitialiser le mot de passe. 🎜🎜Conclusion : 🎜🎜Lorsque nous utilisons MySQL comme base de données, l'oubli du mot de passe est un problème courant. Cet article présente deux solutions réalisables pour résoudre le problème du mot de passe oublié dans MySQL. Si vous êtes un utilisateur sans expérience MySQL, ne modifiez pas le fichier de configuration MySQL à volonté. Si vous n'êtes pas très familier avec les méthodes présentées ci-dessus, veuillez consulter un professionnel pour vous aider à résoudre les problèmes associés. 🎜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!