Maison > Article > base de données > Solution au mot de passe oublié MySQL : connectez-vous sans mot de passe et réinitialisez le mot de passe root
Que dois-je faire si j'oublie mon mot de passe MySQL ? L'article suivant vous expliquera comment vous connecter à MySQL sans mot de passe, puis réinitialiser le mot de passe root. J'espère que cela vous sera utile.
Lors de la reprise d'un projet, ce sera un casse-tête si le précédent responsable n'a pas organisé les documents du projet, les mots de passe des comptes. . Par exemple, lorsque vous souhaitez ouvrir une base de données MySQL, saisissez :
mysql -u root -p
Lorsque vous appuyez sur Entrée et que vous souhaitez saisir le mot de passe, vous constatez que le mot de passe est erroné ! ! mysql -u root -p
一回车想输入密码,发现密码错误!!
# [MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)]
立马有种想要砸键盘的冲动~不过别慌,程序员最厉害的地方就是,上网找解决方案哈哈;【相关推荐:mysql视频教程】
下面就和大家分享一下 《MySQL忘记密码的解决方案》
1、找到 my.cnf
配置文件的位置
windows下修改的是my.ini,这里主要说的是Linux的具体操作,
Linux系统使用 whereis 能够很方便地找到文件的位置:
$ whereis my $ my:/etc/my.cnf
2、修改 my.cnf
如果你是 root 用户,直接vim /etc/my.cnf
(注:windows下修改的是my.ini)
如果你是普通用户 , sudo vim /etc/my.cnf
进入vim编辑器编辑之后,找到 [mysqld] ,按键盘的 i 键进入编辑模式,在[mysqld]后面任意一行添加 skip-grant-tables
用来跳过密码验证的过程:
按 ESC 退出编辑,键入 :wq ,回车即保存并退出。
3、 重启 mysqld 服务
$ sudo /etc/init.d/mysqld restart
普通用户在这个命令最前面加上 sudo ,root 用户就不用啦。
4、无密进入MySQL
<br/>
出现Entering password 无需理会,回车即可进入 MySQL 数据库。
5、修改root密码
进入到 MySQL 数据库之后,我们就可以更新 "mysql"数据库中“user”表的 root 记录的密码了
mysql > use mysql; mysql > update user set password=password('YOUR_NEW_PASSWORD') where user='root'; mysql > flush privileges;
步骤解析:
use mysql;
进入到名为 “mysql” 的数据库,
然后使用 update 语句更新密码,
更新密码之后使用 flush privileges;
刷新权限。
注意: password()函数是用于密码储存的加密函数,该函数的加密过程不可逆!因此除非用大量的数据进行比对,不然没办法使用什么逆函数查看旧的密码,只能使用该函数更新密码,YOUR_NEW_PASSWORD 就是自己设置的新密码。
设置好新密码之后,Ctrl + D退出 MySQL 数据库。
6、重新配置 <span style="font-size: 18px;">my.cnf</span>
# [Erreur MySQL pour Linux ERREUR 1045 (28000) : Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)]
J'ai immédiatement ressenti l'envie de casser le clavier . ~Mais pas de panique, la meilleure chose à propos des programmeurs est de trouver des solutions en ligne haha ; [Recommandations associées : mysql video tutoriel
"Solution pour MySQL mot de passe oublié"
1. Trouvezmy.cnf
L'emplacement du fichier de configuration
Le système Linux utilise Whereis pour trouver facilement l'emplacement du fichier :
$ sudo /etc/init.d/mysqld restart🎜🎜2. . Modifiez my.cnf🎜🎜🎜🎜Si vous êtes un utilisateur root, directement
vim /etc/my.cnf
(Remarque : My.ini est modifié sous windows)🎜🎜Si vous êtes un utilisateur ordinaire. , sudo vim /etc/my.cnf
🎜🎜Après être entré dans l'éditeur vim pour éditer, recherchez [mysqld], appuyez sur la touche i du clavier pour entrer en mode d'édition et ajoutez skip - à n'importe quelle ligne après que [mysqld] grant-tables
est utilisé pour ignorer le processus de vérification du mot de passe : 🎜🎜Appuyez sur ESC pour quitter l'édition, tapez 🎜:wq🎜 et appuyez sur Entrée pour enregistrer et quitter. 🎜🎜🎜🎜3. Redémarrez le service mysqld 🎜🎜🎜$ mysql -u root -p🎜Les utilisateurs ordinaires ajoutent 🎜sudo🎜 au début de cette commande, les utilisateurs root n'en ont pas besoin. 🎜🎜🎜🎜4. Entrez MySQL sans mot de passe🎜🎜🎜rrreee🎜 Si la saisie du mot de passe apparaît, ignorez-la et appuyez sur Entrée pour accéder à la base de données MySQL. 🎜🎜🎜🎜5. Changer le mot de passe root 🎜🎜🎜🎜Après avoir entré la base de données MySQL, nous pouvons mettre à jour le mot de passe de l'enregistrement racine de la table "user" dans la base de données "mysql" 🎜rrreee🎜🎜Analyse par étapes : 🎜🎜 🎜
use mysql;
Entrez la base de données nommée "mysql", 🎜🎜Ensuite, utilisez l'instruction update pour mettre à jour le mot de passe, 🎜🎜Après la mise à jour du mot de passe, utilisez flush privilèges;
pour actualisez les autorisations. 🎜🎜🎜Remarque : 🎜 La fonction password() est une fonction de cryptage utilisée pour le stockage des mots de passe. Le processus de cryptage de cette fonction est irréversible ! Par conséquent, à moins qu'une grande quantité de données ne soit utilisée à des fins de comparaison, il n'existe aucun moyen d'utiliser une fonction inverse pour vérifier l'ancien mot de passe. Vous ne pouvez utiliser cette fonction que pour mettre à jour le mot de passe YOUR_NEW_PASSWORD est le nouveau mot de passe que vous avez défini. 🎜🎜Après avoir défini le nouveau mot de passe, Ctrl + D quittez la base de données MySQL. 🎜🎜🎜🎜6. Reconfigurez le fichier 🎜🎜my.cnf🎜
🎜🎜🎜🎜🎜Ouvrez à nouveau my.cnf avec vim, supprimez les skip-grant-tables tout de suite ou ajoutez # devant Commentez, enregistrez et quittez. 🎜🎜🎜🎜7. Redémarrez le service mysqld🎜🎜🎜rrreee🎜🎜🎜8. Entrez MySQL avec un nouveau mot de passe🎜🎜🎜rrreee🎜Pour plus de connaissances sur la programmation, veuillez visiter : 🎜Vidéo de programmation🎜 ! ! 🎜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!