So ändern Sie das ROOT-Passwort in MySql8.0 und höheren Versionen richtig

So ändern Sie das ROOT-Passwort in MySql8.0 und höheren Versionen richtig

Bereitstellungsumgebung:

Installationsversion Red Hat Cent 7.0

MySQL Version 8.0.2.0

Nach erfolgreicher Bereitstellung tritt ein Fehler auf:

1. Nachdem Sie den MySQL-Dienst normal gestartet haben, können Sie das Root-Konto und das Passwort in Linux nicht eingeben.

2. Nachdem Sie die Skip-Grant-Tabelle zur Konfigurationsdatei /etc/my.cnf hinzugefügt haben, können Sie sich normal anmelden, aber keine Benutzer erstellen oder andere Vorgänge ausführen.

Zusammenfassend:

Ich möchte MySQL aufrufen, kann aber mehrere Befehle nicht ausführen, und ich kann MySQL nicht aufrufen, nachdem ich mehrere Befehle ausgeführt habe, was eine Endlosschleife ist.

Grabphase:

Ich habe im Internet viele Möglichkeiten gefunden. Fügen Sie zuerst die Skip-Grant-Tabelle hinzu. Aktualisieren Sie dann die Berechtigungstabelle, starten Sie den Dienst neu, melden Sie sich als Root ohne Kennwort an, ändern Sie das Root-Kennwort und aktualisieren Sie die Berechtigungstabelle erneut. Habe viele Methoden ausprobiert, aber keine hat funktioniert. Das Ändern des Root-Links ist immer falsch.

Es hat mich daran erinnert, dass die Kennwortrichtlinie und die Änderungssyntax von MySQL-Versionen über 8.0 falsch sind.

Wiederholen Sie den Vorgang:

#vim /etc/my.cnf

【mysql】

skip-grant-table hinzufügen

#systemctl stoppt mysqld.service
#systemctl starte mysqld.service
#mysql –u root

[Zum Eintreten die Eingabetaste drücken]

mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)
mysql> alter user 'root'@'localhost' IDENTIFIZIERT DURCH 'MyNewPass';
FEHLER 1819 (HY000): Ihr Passwort erfüllt nicht die aktuellen Richtlinienanforderungen
mysql> alter user 'root'@'localhost' IDENTIFIZIERT DURCH 'MyNewPass@123';
FEHLER 1396 (HY000): Vorgang ALTER USER ist für „root“@„localhost“ fehlgeschlagen.
mysql> alter user 'root'@'%' IDENTIFIZIERT DURCH 'MyNewPass@123';

[Die Kennwortrichtlinienbeschränkungen für MySQL 8.0 und höher müssen Groß- und Kleinbuchstaben sowie Zahlen und Sonderzeichen enthalten. Ich habe zuvor mysqladmin, set, update verwendet und mich dabei auf die Vorgänger bezogen, die das Root-Kennwort geändert haben: Am Ende des Artikels finden Sie eine Einführung.

Abfrage OK, 0 Zeilen betroffen (0,05 Sek.)

Beenden Sie den Vorgang, löschen Sie die Skip-grant-table-Anweisung und starten Sie die Datenbank neu.

[root@localhost ~]# vim /etc/my.cnf [Löschen ausgelassen]
[root@localhost ~]# systemctl stopmysqld.service
[root@localhost ~]# systemctl startmysqld.service
[root@localhost ~]# mysql -uroot –p
mysql> BENUTZER ERSTELLEN dbadmin@localhost 
 -> IDENTIFIZIERT DURCH „pwd123“;
FEHLER 1819 (HY000): Ihr Passwort erfüllt nicht die aktuellen Richtlinienanforderungen
mysql> BENUTZER ERSTELLEN dbadmin@localhost 
 -> IDENTIFIZIERT DURCH ,Pwd123‘;
FEHLER 1819 (HY000): Ihr Passwort erfüllt nicht die aktuellen Richtlinienanforderungen
mysql> BENUTZER ERSTELLEN dbadmin@localhost 
 -> IDENTIFIZIERT DURCH ‚Pwd@123‘;
FEHLER 1819 (HY000): Ihr Passwort erfüllt nicht die aktuellen Richtlinienanforderungen
mysql> BENUTZER ERSTELLEN dbadmin@localhost 
 -> IDENTIFIZIERT DURCH ‚MyNewPass@123‘;
Abfrage OK, 0 Zeilen betroffen (0,10 Sek.)

[Benutzer können normal erstellt werden, aber die Kennwortsicherheit erfordert immer noch ein höheres Maß an Komplexität]

Zweitens: Verwenden Sie SQL-Tools für die Remote-Verbindung. Hier wird SQLyog für die Remote-Verbindung verwendet.

Eine direkte Verbindung mit dem ROOT-Benutzerkonto und -Passwort ist grundsätzlich nicht möglich, auch wenn das Passwort korrekt ist.

Die Funktion mysql_native_password wurde in MySQL 8.0 neu hinzugefügt. Durch Ändern des Passworts dieser Funktion kann eine Remote-Verbindung hergestellt werden.

2.1 Zunächst können Sie das native_password-Passwort des ROOT-Benutzers ändern

mysql> ALTER USER 'root'@'%' IDENTIFIZIERT MIT mysql_native_password BY'MyPass@123';
Abfrage OK, 0 Zeilen betroffen (0,15 Sek.) 

2.2 Zweitens können Sie sich mit dem Root-Benutzer beim neu hinzugefügten Benutzer anmelden, ihn autorisieren und dann eine Remoteverbindung herstellen.

mysql> ERSTELLEN SIE BENUTZER 'super'@'%' IDENTIFIZIERT DURCH 'MyPass@123';
Abfrage OK, 0 Zeilen betroffen (0,10 Sek.)
Abfrage OK, 0 Zeilen betreffen MySQL> GRANT ALLON *.* TO 'super'@'%' WITH GRANT OPTION;
Abfrage OK, 0 Zeilen betroffen (0,10 Sek.)
mysql> Berechtigungen leeren;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)cted(0,01 Sek.)
mysql> ALTER USER 'super'@'%' IDENTIFIEDWITH mysql_native_password BY 'MyPass@123';
Abfrage OK, 0 Zeilen betroffen (0,10 Sek.) 

Hinweis: Das Ändern des mysql_native_passwd Passworts entspricht dem Ändern des ursprünglichen Passworts des Benutzers. MYSQL 8.0 verwendet hauptsächlich mysql-native_passwd , daher müssen Sie beim Anmelden über die Shell-Schnittstelle vorsichtig sein.

PS: Schauen wir uns die verschiedenen Methoden zum Ändern des Root-Passworts von MySQL an

Führen Sie einfach SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); unter Navicat für MySQL aus.

Methode 1: Verwenden Sie den Befehl SET PASSWORD

mysql -u root
  mysql> PASSWORT FÜR 'root' festlegen@'localhost' = PASSWORT('neuesPasswort');

Methode 2: Verwenden von mysqladmin

mysqladmin -u root password "newpass"

Wenn das Root-Passwort festgelegt wurde, verwenden Sie die folgende Methode

mysqladmin -u root password oldpass "newpass"

Methode 3: Verwenden Sie UPDATE, um die Benutzertabelle direkt zu bearbeiten

mysql -u root
  mysql> mysql verwenden;
  mysql> UPDATE Benutzer SET Passwort = PASSWORT('neuesPasswort') WHERE Benutzer = 'root';
  mysql> FLUSH-PRIVILEGIEN;

Wenn Sie Ihr Root-Passwort verlieren, können Sie

mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql> UPDATE user SET password=PASSWORD("neues Passwort") WHERE user='root';
  mysql> FLUSH-PRIVILEGIEN;

Zusammenfassen

Oben ist die Methode, die ich Ihnen vorgestellt habe, um das ROOT-Passwort für MySql8.0 und höhere Versionen korrekt zu ändern. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Idee, mysql8.0.11 zu installieren, das Root-Passwort zu ändern und Navicat für MySQL zu verbinden
  • Beheben Sie das Problem der Kennwortänderung bei der ersten Anmeldung nach der Installation von MySQL 8.0
  • Zusammenfassung zum Ändern des Root-Passworts in MySQL 5.7 und MySQL 8.0
  • MySQL 8.0.19 WinX64-Installations-Tutorial und Ändern des Initialpassworts unter Windows 10
  • MySQL 8.0.12 Installationskonfigurationsmethode und Kennwortänderung
  • Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.15 sowie zur Kennwortänderung unter Linux
  • So ändern Sie das Root-Benutzerkennwort in MySQL 8.0.16, WinX64 und Linux
  • Probleme beim Ändern des Passworts und beim Herstellen einer Verbindung zu Navicat bei der Installation und Verwendung von MySQL 8.0.16 unter Windows 7
  • mysql8.0: Passwortänderung vergessen und Problem mit ungültigem Net-Befehlsdienstnamen
  • So ändern Sie das Passwort in MySQL 8.0 richtig

<<:  Detaillierte Erläuterung der Nginx-Timeout-Konfiguration

>>:  React implementiert Import und Export von Excel-Dateien

Artikel empfehlen

Detaillierter Prozess der Vue-Front-End-Verpackung

Inhaltsverzeichnis 1. Verpackungsbefehl hinzufüge...

Grundprinzipien für die Zusammenstellung einer Website-Homepage

1. Die Organisationsstruktur des Hypertext-Dokumen...

Beispiel zum Einbetten von H5 in die Webansicht des WeChat-Applets

Vorwort WeChat-Miniprogramme bieten neue offene F...

Detaillierte Erläuterung der Datentypprobleme bei der JS-Array-Indexerkennung

Als ich ein WeChat-Applet-Projekt schrieb, gab es...

MySQL Installations-Tutorial unter Windows mit Bildern und Text

Anweisungen zur MySQL-Installation MySQL ist ein ...

Was sind die Verwendungszwecke von Limits in MySQL (empfohlen)

SELECT * FROM Tabellenname Limit m,n; SELECT * FR...

Probleme mit der Rancher-Bereitstellung und dem Importieren von K8S-Clustern

Die Rancher-Bereitstellung kann über drei Archite...

So installieren Sie Tomcat8 im Docker

1. Installieren Sie Tomcat8 mit Docker 1. Suchen ...

Mehrere Techniken zum Abspielen von Sounds mit CSS

CSS ist der Bereich von Stil, Layout und Präsenta...

Forschung zur Größe von Webseiten

<br />Statistiken zufolge hat sich die durch...

Wie werden Vue-Komponenten analysiert und gerendert?

Vorwort In diesem Artikel wird erklärt, wie Vue-K...