Lösung für vergessenes Linux MySQL-Root-Passwort

Lösung für vergessenes Linux MySQL-Root-Passwort

Wenn Sie sich bei der Verwendung der MySQL-Datenbank aus irgendeinem Grund längere Zeit nicht bei MySQL angemeldet haben oder die Arbeitsübergabe nicht ordnungsgemäß abgeschlossen wurde, vergessen Sie möglicherweise das Root-Anmeldekennwort für die Datenbank. Wie können Sie dieses Problem lösen?

1. Ändern Sie die Konfigurationsdatei my.cnf

1. Bearbeiten Sie die Konfigurationsdatei /etc/my.cnf mit dem Befehl: vim /etc/my.cnf oder vi /etc/my.cnf oder nano /etc/my.cnf

2. Fügen Sie skip-grant-tables unter [mysqld] hinzu, speichern Sie dann und beenden Sie

3. Starten Sie den MySQL-Dienst neu: service mysqld restart

2. Ändern Sie den Root-Benutzernamen

1. Führen Sie nach dem Neustart den MySQL-Befehl aus, um die MySQL-Befehlszeile aufzurufen

2. Ändern Sie das Root-Benutzerkennwort

MySQL> UPDATE mysql.user SET Password=PASSWORD('neues Passwort') wobei USER='root';
MySQL> Berechtigungen leeren;
MySQL> beenden

Hinweis: Das Obige gilt für Versionen vor 5.7. Versionen nach 5.7 haben kein Kennwortfeld und das Kennwortfeld wird in authentication_string geändert.

mysql> update mysql.user set authentication_string=password('root123456') where user='root'; #Passwort erfolgreich geändert
Abfrage OK, 1 Zeile betroffen, 1 Warnung (0,00 Sek.)
Übereinstimmende Zeilen: 1 Geändert: 1 Warnungen: 1
mysql> Flush-Berechtigungen; #Mit sofortiger Wirkung
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

mysql> beenden
Tschüss

n>mysql -u ******* -p #Anmeldung mit diesem Benutzer erfolgreich.
Passwort eingeben: ********
…………………………
MySQL>

Hinweis: Bei Versionen nach 5.7 darf das Kennwort nicht zu einfach sein, beispielsweise 123456. Andernfalls wird der folgende Fehler gemeldet: FEHLER 1819 (HY000): Ihr Kennwort erfüllt nicht die aktuellen Richtlinienanforderungen.

Legen Sie an dieser Stelle entweder eine höhere Kennwortkomplexität fest oder ändern Sie die Konfiguration:

Dies hängt tatsächlich mit dem Wert von validate_password_policy zusammen.

validate_password_policy hat die folgenden Werte:

Der Standardwert ist 1, was MITTEL bedeutet. Daher muss das zu Beginn festgelegte Passwort die Länge einhalten und Zahlen, Klein- oder Großbuchstaben sowie Sonderzeichen enthalten.
Manchmal möchte ich, nur für meine eigenen Tests, kein kompliziertes Passwort festlegen. Beispielsweise möchte ich das Root-Passwort einfach auf 123456 festlegen.
Zwei globale Parameter müssen geändert werden:

Ändern Sie zunächst den Wert des Parameters validate_password_policy mysql> set global validate_password_policy=0;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
1
2
Der Parameter validate_password_length ist standardmäßig auf 8 eingestellt, was wir in 1 ändern.

mysql> setze global validate_password_length=1;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
1
2
4. Führen Sie nach Abschluss die Anweisung zur Kennwortänderung erneut aus, um mysql> alter user 'root'@'localhost' identified by '123456'; erfolgreich auszuführen.
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

3. Kommentieren Sie abschließend skip-grant-tables in /etc/my.cnf aus und starten Sie dann mysql neu, d. h.: service mysqld restart

OK, jetzt können wir das neue Root-Passwort verwenden, um uns bei MySQL anzumelden.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • MySQL Multi-Instance-Bereitstellungs- und Installationshandbuch unter Linux
  • MySQL 8.0.25 Installations- und Konfigurations-Tutorial unter Linux
  • So starten Sie mehrere MySQL-Datenbanken auf einem Linux-Host
  • Schritte und Fallstricke beim Upgrade von Linux MySQL 5.5 auf MySQL 5.7
  • Lösen Sie das Problem, dass bei der Installation von MySQL unter Linux keine my.cnf-Datei in /etc vorhanden ist
  • Schritte zur Installation von MySQL mit Docker unter Linux
  • Detaillierte Erklärung zum manuellen Bereitstellen einer Remote-MySQL-Datenbank unter Linux
  • Detaillierte Erläuterung der Idee, mysqldump + expect + crontab zur Implementierung eines regelmäßigen MySQL-Cold-Backups unter Linux zu verwenden
  • Aliyun Linux kompiliert und installiert php7.3 tengine2.3.2 mysql8.0 redis5 Prozess detaillierte Erklärung
  • So implementieren Sie eine geplante Sicherung von MySQL unter Linux
  • So setzen Sie das Root-Passwort in Linux mysql-5.6 zurück
  • Verwenden Sie MySQL, um Port 3306 zu öffnen/ändern und Zugriffsberechtigungen in der Ubuntu/Linux-Umgebung zu öffnen
  • MySQL-Lösung für zeitgesteuerte Backups (mithilfe von Linux crontab)
  • Detailliertes Tutorial zur Installation einer MySQL-Datenbank in einer Linux-Umgebung
  • So sichern Sie MySQL unter Linux automatisch remote
  • Detailliertes Tutorial zur Installation von mysql-8.0.20 unter Linux
  • So implementieren Sie mit MyCat die Lese-/Schreibtrennung von MySQL-Master und -Slave unter Linux

<<:  Erfahren Sie, wie Sie Vue3 Reactivity implementieren

>>:  Beispielanalyse der Verwendung von GROUP_CONCAT in MySQL

Artikel empfehlen

Eine kurze Zusammenfassung meiner Erfahrungen beim Schreiben von HTML-Seiten

Es sind drei oder vier Monate vergangen, seit ich ...

Detaillierte Erklärung des daily_routine Beispielcodes in Linux

Schauen Sie sich zunächst den Beispielcode an: #/...

Eine kurze Analyse der MySQL-Kardinalitätsstatistiken

1. Was ist die Kardinalität? Mit Kardinalität wir...

Optimierte Implementierung von count() für große MySQL-Tabellen

Das Folgende ist mein Urteil basierend auf der Da...

Verwenden Sie Javascript, um eine dynamische QQ-Registrierungsseite zu erstellen

Inhaltsverzeichnis 1. Einleitung 1. Grundlayout 2...

js implementiert das klassische Minesweeper-Spiel

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der jQuery-Kettenaufrufe

Inhaltsverzeichnis Kettenanrufe Ein kleiner Koffe...

JavaScript Snake-Implementierungscode

In diesem Artikelbeispiel wird der spezifische Ja...

Wie lang ist eine Funktion in js?

Inhaltsverzeichnis Vorwort Warum Wie viel kostet ...

Implementierung der automatischen Vervollständigung von Docker-Befehlen

Vorwort Ich weiß nicht, wie lange dieser Freund D...