Diese Methode wurde am 7. Februar 2021 bearbeitet. Die von mir verwendete Version ist 8.0.23. Die Ursache des Vorfalls begann mit Professor Yuan Longping ... Es begann mit einem Lehrbuch. Es gibt ein Kapitel mit dem Titel „MySQL-Sicherheitsverwaltung und Berechtigungsverwaltung“, in dem das Ändern des Root-Kontos erwähnt wird ps: Diese Methode eignet sich für alle, die das Root-Passwort vergessen, geändert oder durcheinander gebracht haben Ganz pragmatisch habe ich in meine MySQL-Datenbank eingegeben (aktuell als Root angemeldet): Benutzersatz-Authentifizierungszeichenfolge = MD5("123") aktualisieren, wobei Benutzer = "root" und Host = "localhost" ist; Berechtigungen leeren; Hier muss ich über das aktuelle Baidu Google-Tutorial sprechen. Die Schüler können sich zunächst ihre eigene Benutzertabellenstruktur ansehen. In der Benutzertabelle interessieren uns im Allgemeinen am meisten drei Felder, nämlich die Hostspalte von localhost, die Benutzerspalte des Benutzernamenstamms und die Spalte authentication_string, in der das Kennwort gespeichert ist Beschreibung des Benutzers; Hinweis: Das Feld zum Speichern des Passworts ist nicht mehr Passwort (es kann in der alten Version so sein, und viele Tutorials zum Ändern des Root-Passworts sind immer noch Passwort). Zweitens wendet meine neuere Version hier keine Passwortfunktion an. Das Lehrbuch verwendet MD5-Verschlüsselung. Derzeit sind viele Baidu-Lehrbücher noch wie folgt. Diese Methode ist nicht mehr anwendbar. ...Passwort = Passwort("123")… Nachdem ich den obigen Code eingegeben hatte, meldete ich mich ab, startete den Server neu und versuchte, mich mit dem neuen Passwort 123 anzumelden, aber es kam eine Fehlermeldung, dass das Passwort falsch sei.
Danach habe ich drei Stunden damit verbracht, den Baidu-Guide zu durchsuchen und zu versuchen, mein Passwort abzurufen, aber alles endete erfolglos. 1. Passwortfreie Anmeldung Richten Sie die MySQL-Anmeldung auf eine kennwortfreie Anmeldung ein (ich weiß nicht, ob ich mich mit dem Konto debian-sys-maint in der Konfiguration von debian.cnf anmelden und das Root-Kennwort ändern kann. Ich befürchte, dass die Debian-Berechtigungen nicht ausreichen, um das Root-Kennwort zu ändern, daher habe ich die kennwortfreie Root-Anmeldung gewählt. Interessierte Studenten können es versuchen. Dieser Schritt dient hauptsächlich dazu, sich beim Server anmelden zu können). Die spezifische Methode lautet: /etc/mysql/mysql.conf.d Öffnen Sie es mit sudo, da Sie su-Berechtigungen benötigen, um die etc-Konfiguration zu ändern. Da ich die Konfiguration in meinem Home-Verzeichnis nicht angepasst habe, sind natürlich alle Standardeinstellungen. Diese Konfiguration ist wahrscheinlich bei jedem anders und Sie haben sie möglicherweise selbst konfiguriert. Anschließend können Sie mysql --help auf dem Terminal verwenden, um zu sehen, welche Konfiguration zu diesem Zeitpunkt wirksam ist. Natürlich ist es nicht einfach, alles auf einmal zu finden. Beispielsweise befindet sich meine aktuelle Konfigurationsdatei in der zweiten /etc/mysql/my.cnf, aber wenn ich sie öffne, gibt es keine Konfigurationsoption. Sie enthält zwei Pfade. Dieser Pfad ist die eigentliche Konfigurationsdatei, genau wie eine „verschachtelte“ sudo vim mysqld.cnf Nach dem Öffnen fügen Sie eine Zeile unterhalb von [mysqld] um Zeile 15 ein Dann speichern und vim beenden. 2. Löschen Sie das Authentifizierungs-Passwort Eigentlich bin ich aus Versehen in diesen Schritt gestolpert und wurde von diversen kopierten Tutorials im Internet in die Irre geführt. Als ich heute Abend die Benutzertabelle studierte, sah ich, dass das Plugin-Feld standardmäßig auf caching_sha2_password eingestellt war, also dachte ich, dass ich vorher vielleicht nicht MD5-Verschlüsselung hätte verwenden sollen, sondern SHA2, also: Benutzer aktualisieren, Authentication_String = sha2("1234",32) wobei Benutzer = „root“ ist; Berechtigungen leeren; Dann habe ich mir die Stammdaten in der Benutzertabelle angesehen und festgestellt, dass der Wert von authentication_string null geworden war. An diesem Punkt hatte ich das Gefühl, dass ich mich tatsächlich ohne Passwort anmelden könnte. Kehren Sie zur Konfigurationsdatei zurück (beachten Sie, dass sudo verwendet wird) und fügen Sie die obige Codezeile zur Konfigurationsdatei hinzu. Skip-Grant-Tabellen Löschen Sie es, starten Sie den MySQL-Server neu und melden Sie sich an mysql -u root Wie erwartet kann ich mich anmelden, eine echte passwortfreie Anmeldung, da das Passwort des Root-Kontos zu diesem Zeitpunkt gelöscht wurde, aber ich verstehe nicht, warum der SHA2-Digest-Algorithmus kein Passwort berechnet, sondern ein Passwort löscht. Ich bin sicher, jemand weiß das ... 3. Setzen Sie Ihr Passwort zurückDas Zurücksetzen des Passworts ist einfach und erfordert nur eine Codezeile: ALTER USER 'root'@'localhost' IDENTIFIZIERT MIT mysql_native_password DURCH '123'; PS: Nach der ersten Installation von MySQL gibt es kein Kennwort. Wenn Sie sich zum ersten Mal beim Server anmelden, müssen Sie sich möglicherweise mit sudo mysql -uroot anmelden. Legen Sie nach der Anmeldung das Root-Kennwort von MySQL selbst fest. Die Einstellungsmethode ist genau dieselbe wie im obigen Code. 4. EndeDanach können Sie sich mit dem neuen Passwort wieder bei MySQL anmelden mysql -u root -p123 5. Zuletzt
Dies ist das Ende dieses Artikels über die optimale Lösung zum Zurücksetzen des Root-Passworts von MySQL Version 8.0.23. Weitere Informationen zum Zurücksetzen des Root-Passworts von MySQL 8.0.23 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: vue.js Router verschachtelte Routen
<br />Wenn Sie sich diesen Titel ansehen, ko...
CocosCreator-Version: 2.4.2 Praktische Projektanw...
Bei der Arbeit an einem Projekt bin ich kürzlich ...
Benutzergruppen Unter Linux muss jeder Benutzer e...
vorgenannt Dieser Artikel ist sehr kurz~ Der Haup...
Inhaltsverzeichnis 1. Was ist Curry 2. Verwendung...
【Vorwort】 Wenn Sie ORM zum Bedienen von Daten in ...
Die Festlegung einer Begrenzung der Anzahl von Be...
Der Cut-Befehl in Linux und Unix dient dazu, aus ...
Beim Schreiben meiner eigenen Demo möchte ich dis...
Inhaltsverzeichnis Überblick Durchführung Schutz-...
brauchen: Verwenden Sie Docker, um den Dualprozes...
Inhaltsverzeichnis Ziele für diesen Zeitraum 1. F...
Transtion in Vue ist eine Kapselungskomponente f...
Registerkartenleiste: Klicken Sie auf verschieden...