Maison  >  Article  >  base de données  >  Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

WBOY
WBOYavant
2023-06-03 21:01:062019parcourir

1. Description du principe

1. authentication_string Il s'agit d'une nouvelle modification apportée à Mysql8.0 Dans l'ancienne version, la fonction password() était utilisée. authentication_string这是Mysql8.0新做出的修改,在旧版本中使用的是password()函数。

2,在网上找到的“mysql忘记密码”的解决方案中,大多会使用UPDATE user SET authentication_string="12345" WHERE user="root";来直接将密码改成12345,实际上这是错误的用法,authentication_string中存储的是密文,如果直接改为"12345"这样的明文会导致密码错误登录不上。

原因是服务器在验证身份时会先将用户输入的明文转为密文与数据库中的密文作对比验证是否匹配,而直接在本应放密文的地方放入明文显然不会让它们匹配成功。

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

3,在网上近似的搜索结果“mysql修改密码”中,会使用alter user root@localhost identified by '12345'来修改密码,这句命令在“跳过授权表”时是使用不了的,唯有正常模式下可以使用

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

4,才有了这样的解决方法,先将authentication_string变为空,毕竟空值的明文密文都是空值,用空密码进入mysql正常模式后再使用alter将密码改掉即可。

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

二、解决步骤

1,停止mysql服务

net stop mysql

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

2,输入命令,进入“跳过授权表”模式

mysqld --console --skip-grant-tables --shared-memory

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

3,上一个cmd窗口先放一旁,另开个管理员cmd窗口,输入mysql进入mysql服务

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

4,输入use mysql进入mysql数据库,再将authentication_string改为空

USE mysql;
UPDATE user SET authentication_string="" WHERE user="root";

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

5,刷新权限,退出

FLUSH privileges;
exit;

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

6,第一个cmd窗口中,使用ctrl+c

2. Parmi les solutions au "mot de passe oublié mysql" trouvées sur Internet, la plupart utiliseront UPDATE user SET ignition_string="12345" WHERE user="root"; pour changer directement le mot de passe. à 12345 En fait, il s'agit d'une mauvaise utilisation. La chaîne d'authentification stocke le texte chiffré. S'il est directement modifié en texte brut tel que "12345", le mot de passe sera incorrect et la connexion ne sera pas possible.

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.xLa raison en est que lors de la vérification de l'identité, le serveur convertira d'abord le texte en clair saisi par l'utilisateur en texte chiffré et le comparera avec le texte chiffré dans la base de données pour vérifier s'il correspond. Mettre le texte en clair directement là où le texte chiffré doit être placé sera évidemment. ne les laissez pas correspondre avec succès.

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/ 8.x

3. Dans le résultat de recherche en ligne similaire "mysql change password", alter user root@localhost identifié par '12345' sera utilisé pour changer le mot de passe. Cette commande est dans "Ignorer la table d'autorisation" Il ne peut pas être utilisé, mais ne peut être utilisé qu'en mode normalComment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x

MySQL8.0 /8.x Comment changer le mot de passe root si vous oubliez votre mot de passe ?

4, il existe une telle solution. Changez d'abord la chaîne d'authentification pour qu'elle soit vide. Après tout, le texte en clair et le texte chiffré de. les valeurs vides sont toutes des valeurs vides. Il est normal de saisir mysql avec un mot de passe vide. Après être entré dans le mode, utilisez alter pour changer le mot de passe.

Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.xComment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/ 8.x

🎜2. Étapes de la solution🎜🎜1. Arrêtez le service MySQL🎜
net start mysql
🎜MySQL8.0/8.x Comment changer le mot de passe root si vous oubliez le mot de passe🎜🎜2. Entrez la commande pour accéder au mode "ignorer le formulaire d'autorisation"🎜
mysql -uroot -p
🎜Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x🎜 🎜3. Mettez la fenêtre cmd précédente de côté et ouvrez une autre fenêtre cmd d'administrateur. Entrez mysql pour accéder au service mysql🎜🎜MySQL8.0/ 8.x Comment changer le mot de passe root si vous oubliez le mot de passe🎜🎜4. Entrez utiliser mysql pour entrez dans la base de données MySQL, puis modifiez la chaîne d'authentification en vide🎜
alter user root@localhost identified by '12345'
FLUSH privileges;
exit
🎜Comment changer mot de passe root si MySQL8.0/8.x oublie le mot de passe🎜🎜5, actualiser les autorisations, quitter🎜rrreee🎜Comment changer le mot de passe root si vous oubliez votre mot de passe dans MySQL8.0/8.x🎜🎜6, Dans la première fenêtre cmd, utilisez ctrl+c pour quitter le mode "ignorer la table d'autorisation", démarrez le service mysql 🎜rrreee🎜🎜🎜🎜7, utilisez un mot de passe vide pour vous connecter, puis utilisez l'instruction alter pour mettre à jour le mot de passe, actualisez les autorisations, quittez 🎜rrreeerrreee🎜🎜 🎜🎜8, essayez de vous connecter avec un mot de passe, avec succè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!

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