Verbindung zu MySQL 4.1 mit Legacy-Authentifizierung kann nicht hergestellt werden
Wenn Sie versuchen, eine Verbindung zu einer auf bluesql.net gehosteten MySQL-Datenbank herzustellen, kann dies passieren Es tritt ein Fehler auf, der darauf hinweist, dass mit dem veralteten Authentifizierungsmechanismus, der in MySQL-Versionen vor 4.1 verwendet wird, keine Verbindung hergestellt werden kann. Dieses Problem ist auf die Implementierung neuerer Authentifizierungsmethoden in nachfolgenden MySQL-Versionen zurückzuführen, während ältere Passwortschemata möglicherweise weiterhin bestehen bleiben und möglicherweise die Kompatibilität mit bestimmten Anwendungen beeinträchtigen.
In Ihrem Fall verwenden Sie PHP 5.3 und die mySQLi-Erweiterung ( new mysqli(...)), um eine Verbindung zur Datenbank herzustellen. Um dieses Problem zu beheben, ohne ein Downgrade Ihrer PHP-Version durchführen zu müssen, sollten Sie die folgenden Schritte in Betracht ziehen:
Verwendung des alten Passwortschemas überprüfen
Bestimmen Sie, ob der MySQL-Server, den Sie verwenden, verwendet wird Für den Zugriff wird die Verwendung des alten Passwortschemas konfiguriert, indem die folgende SQL-Abfrage ausgeführt wird:
SHOW VARIABLES LIKE 'old_passwords'
Wenn das Ergebnis der Abfrage „old_passwords,Off“ anzeigt, bedeutet dies, dass der Server für die Verwendung des alten konfiguriert ist Passwortschema.
Identifizieren von Konten mit alten Passwörtern
Untersuchen Sie die Tabelle mysql.user, um Benutzerkonten zu identifizieren, die noch alte Passwörter verwenden. Führen Sie die folgende Abfrage aus:
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Konten mit alten Passwörtern haben eine Passwortlänge von „16“, während Konten mit neuen Passwörtern eine Länge von „41“ haben.
Neue Passwörter für betroffene Konten festlegen
Legen Sie für jedes Konto, das mit einem alten Passwort identifiziert wurde, ein neues Passwort fest, indem Sie den folgenden Befehl verwenden:
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword'); FLUSH Privileges;
Ersetzen Sie „Benutzer“ und „Host“. " mit den aus der vorherigen Abfrage erhaltenen Werten.
Passwortaktualisierung überprüfen
Überprüfen Sie die Passwortlänge für das aktualisierte Konto erneut. Es sollte nun „41“ angezeigt werden, was darauf hinweist, dass das neue Passwortschema verwendet wird.
Durch die Einhaltung dieser Schritte können Sie das Problem der Authentifizierungskompatibilität erfolgreich lösen und eine Verbindung zur MySQL-Datenbank auf bluesql.net herstellen .
Das obige ist der detaillierte Inhalt vonWarum kann ich mit der Legacy-Authentifizierung keine Verbindung zu MySQL 4.1 herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!