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

Dockers Mechanismus zur Integritätserkennung

Für Container ist die einfachste Integritätsprüfu...

Übersicht über die Unterschiede zwischen Linux TTY/PTS

Wenn wir einen Buchstaben auf der Tastatur eingeb...

Implementierung der MVCC-Mehrversions-Parallelitätskontrolle von MySQL

1 Was ist MVCC Der vollständige Name von MVCC lau...

Lösung für das Jitter-Problem beim CSS3-Transformationsübergang

transform: scale(); Skalierung verursacht Jitter ...

So installieren Sie die Linux-Onlinesoftware gcc online

Befehle zur Linux-Onlineinstallation: yum install...

Einführung in Who-Befehlsbeispiele in Linux

Über wen Zeigt die am System angemeldeten Benutze...

Unicode-Signatur-BOM-Problem (Byte Order Mark) für UTF-8-Dateien

Beim Debuggen einer chinesischen Zen Cart-Website...

Benutzerdefinierte Tabbar-Komponente für das WeChat-Applet

In diesem Artikel wird der spezifische Code der b...

Mysql GTID Mha-Konfigurationsmethode

Gtid + Mha + Binlog-Serverkonfiguration: 1: Testu...

mysql charset=utf8 verstehen Sie wirklich, was es bedeutet

1. Schauen wir uns zunächst eine Anweisung zur Ta...

Vier praktische Tipps für JavaScript-String-Operationen

Inhaltsverzeichnis Vorwort 1. Eine Zeichenfolge t...

So starten Sie mehrere MySQL-Instanzen in CentOS 7.0 (mysql-5.7.21)

Konfigurationsanweisungen Linux-System: CentOS-7....