Ich habe den Computer neu installiert und die neueste Version der MySQL-Datenbank installiert. Als Ergebnis meldete Navicat einen 1251-Fehler beim Herstellen einer Verbindung mit MySQL und sqlyog meldete einen 2058-Fehler Der Befehl wurde in MySQL eingegeben und das Konto und das Passwort waren korrekt.
Ich habe online überprüft, dass der Grund dafür darin liegt, dass die Verschlüsselungsregel in Versionen vor mysql8 mysql_native_password ist, aber nach mysql8 lautet die Verschlüsselungsregel caching_sha2_password.
Es gibt zwei Möglichkeiten, das Problem zu lösen. Eine besteht darin, den Navicat-Treiber zu aktualisieren. Die andere besteht darin, die Verschlüsselungsregel für das MySQL-Benutzer-Login-Passwort wiederherzustellen.
Verwandte Empfehlungen: „Navicat für MySQL-Grafik-Tutorial“
Ich verwende oft die zweite Methode:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限
Ich sehe viele Leute. Das ist so falsch, direkt mit dem Befehl zu kopieren.
'root' Der für Sie selbst definierte Benutzername
'localhost' bezieht sich auf die für den Benutzer offene IP, die 'localhost' sein kann (nur lokaler Zugriff, entspricht 127.0.0.1) , kann ein bestimmtes „*.*.*.*“ (eine bestimmte IP) oder „%“ (auf alle IPs kann zugegriffen werden) sein
'password' ist das Benutzerpasswort, das Sie verwenden möchten
Auf diese Weise ist das Problem gelöst.
Das obige ist der detaillierte Inhalt vonSo beheben Sie den 1251-Fehler beim Herstellen einer Verbindung zwischen MySQL und Navicat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!