Heim  >  Artikel  >  Datenbank  >  So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

WBOY
WBOYnach vorne
2023-06-03 21:01:061961Durchsuche

1. Prinzipbeschreibung

1. authentication_string Dies ist eine neue Änderung, die in Mysql8.0 vorgenommen wurde. In der alten Version wurde die Funktion „password()“ verwendet. authentication_string这是Mysql8.0新做出的修改,在旧版本中使用的是password()函数。

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

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

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

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

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

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

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

二、解决步骤

1,停止mysql服务

net stop mysql

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

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

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

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

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

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

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

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

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

5,刷新权限,退出

FLUSH privileges;
exit;

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

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

2. Unter den im Internet gefundenen Lösungen für „MySQL-Passwort vergessen“ verwenden die meisten UPDATE user SET Authentication_string="12345" WHERE user="root";, um das Passwort direkt zu ändern In der Tat handelt es sich um eine falsche Verwendung. Der Authentication_String speichert Chiffretext, z. B. „12345“. Das Passwort ist falsch und die Anmeldung ist nicht möglich.

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessenDer Grund dafür ist, dass der Server bei der Überprüfung der Identität zunächst den vom Benutzer eingegebenen Klartext in Chiffretext umwandelt und ihn mit dem Chiffretext in der Datenbank vergleicht, um zu überprüfen, ob er übereinstimmt. Klartext wird offensichtlich direkt dort platziert, wo der Chiffretext platziert werden soll Lassen Sie sie nicht erfolgreich zusammenpassen.

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0 vergessen/ 8.x

3. Im ähnlichen Online-Suchergebnis „MySQL-Passwort ändern“ wird alter user root@localhost identifiziert durch „12345“ verwendet, um das Passwort zu ändern. Dieser Befehl ist in „Berechtigungstabelle überspringen“ Es kann nicht verwendet werden, kann aber nur im normalen Modus verwendet werdenSo ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen

MySQL8.0 /8.x Wie ändere ich das Root-Passwort?

4, es gibt eine solche Lösung. Ändern Sie zunächst den Klartext und den Chiffretext von Bei den leeren Werten handelt es sich um leere Werte. Es ist normal, MySQL mit einem leeren Passwort aufzurufen. Verwenden Sie nach dem Aufrufen des Modus alter, um das Passwort zu ändern.

So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessenSo ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0 vergessen/ 8.x

🎜2. Lösungsschritte🎜🎜1. Stoppen Sie den MySQL-Dienst🎜
net start mysql
🎜MySQL8. 0/8.x So ändern Sie das Root-Passwort, wenn Sie das Passwort vergessen🎜🎜2. Geben Sie den Befehl ein, um in den Modus „Autorisierungsformular überspringen“ zu gelangen🎜
mysql -uroot -p
🎜So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen🎜 🎜3. Legen Sie das vorherige CMD-Fenster beiseite und öffnen Sie ein anderes Administrator-CMD-Fenster, um den MySQL-Dienst aufzurufen🎜🎜MySQL8.0/ 8.x So ändern Sie das Root-Passwort, wenn Sie das Passwort vergessen haben🎜🎜4. Geben Sie use mysql ein, um Geben Sie die MySQL-Datenbank ein und ändern Sie dann die Authentifizierungszeichenfolge in leer Root-Passwort, wenn MySQL8.0/8.x das Passwort vergisst" />🎜🎜5, Berechtigungen aktualisieren, beenden🎜
alter user root@localhost identified by '12345'
FLUSH privileges;
exit
🎜So ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen haben🎜🎜6, Verwenden Sie im ersten cmd-Fenster Strg+C Um den Modus „Autorisierungstabelle überspringen“ zu verlassen, starten Sie den MySQL-Dienst 🎜rrreee🎜🎜🎜🎜7, melden Sie sich mit einem leeren Passwort an und verwenden Sie dann die alter-Anweisung, um das Passwort zu aktualisieren, Berechtigungen zu aktualisieren und zu beenden 🎜rrreeerrreee🎜🎜 🎜🎜8, versuchen Sie, sich mit Passwort anzumelden, erfolgreich. 🎜🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo ändern Sie das Root-Passwort, wenn Sie Ihr Passwort in MySQL8.0/8.x vergessen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:So verwenden Sie MySQLNächster Artikel:So verwenden Sie MySQL