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

Solution au mot de passe oublié MySQL : connectez-vous sans mot de passe et réinitialisez le mot de passe root

青灯夜游
青灯夜游avant
2022-01-07 19:44:074141parcourir

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.

Solution au mot de passe oublié MySQL : connectez-vous sans mot de passe et réinitialisez le mot de passe root

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(&#39;YOUR_NEW_PASSWORD&#39;) where user=&#39;root&#39;; 
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

]

Laissez-moi partager avec vous

"Solution pour MySQL mot de passe oublié"

1. Trouvez

my.cnf L'emplacement du fichier de configuration

My.ini est modifié sous Windows. La discussion principale ici est le fonctionnement spécifique de Linux

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer