Beheben von MySQL-Konnektivitätsproblemen mit veralteter Authentifizierung
Beim Versuch, eine Verbindung zu MySQL-Datenbanken herzustellen, die auf Plattformen wie bluesql.net gehostet werden, können Benutzer auf das Problem stoßen Fehler „Connect Error (2000) mysqlnd kann mit der alten Authentifizierung keine Verbindung zu MySQL 4.1 herstellen“. Dieser Fehler entsteht aufgrund einer Ungleichheit zwischen den Authentifizierungsprotokollen, die von älteren MySQL-Versionen und neueren Versionen verwendet werden, die sowohl alte als auch neue Passwortschemata unterstützen.
Um dieses Problem zu beheben, muss unbedingt festgestellt werden, ob der Server dies tut Es ist so konfiguriert, dass standardmäßig das alte Passwortschema verwendet wird. Dies kann durch Ausführen der SQL-Abfrage „SHOW VARIABLES LIKE ‚old_passwords‘;“ überprüft werden. über die Befehlszeile oder mit einem GUI-basierten MySQL-Verwaltungstool. Wenn die Abfrage „old_passwords,Off“ zurückgibt, verwenden bestehende Benutzerkonten möglicherweise alte Passwörter.
Die Bestätigung, welche Authentifizierungsroutine verwendet wird, kann durch Untersuchung der Tabelle „mysql.user“ erfolgen. Konten mit alten Passwörtern haben eine Passwortlänge von „16“, während Konten mit neuen Passwörtern eine Länge von „41“ haben. Um ein neues Passwort festzulegen, verwenden Sie „SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');" Abfrage und ersetzen Sie „Benutzer“ und „Host“ durch Werte aus der vorherigen Abfrage.
Sobald das Passwort aktualisiert ist, führen Sie „FLUSH Privileges“ aus. Abfrage. Überprüfen Sie die Passwortlänge erneut mit derselben Tabellenabfrage „mysql.user“. es sollte jetzt „41“ sein. Durch diese Änderung können Clients, die mysqlnd verwenden, erfolgreich eine Verbindung zum MySQL-Server herstellen.
Weitere Informationen finden Sie in der offiziellen MySQL-Dokumentation unter den folgenden Links:
Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler „mysqlnd kann mit der alten Authentifizierung keine Verbindung zu MySQL 4.1 herstellen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!