MySQL-Konnektivitätsfehler mit alter Authentifizierung
Das Auftreten der Fehlermeldung „mysqlnd kann mit der alten Authentifizierung keine Verbindung zu MySQL 4.1 herstellen“ weist auf ein Kompatibilitätsproblem hin, wenn Versuch, eine Verbindung zu einer MySQL-Datenbank herzustellen, die ein veraltetes Passwortschema verwendet. Um dieses Problem zu lösen, ist es wichtig festzustellen, ob der Datenbankserver für die Verwendung des alten Passwortschemas konfiguriert ist.
Überprüfen der Serverkonfiguration
Führen Sie die folgende SQL-Abfrage aus:
<code class="sql">SHOW VARIABLES LIKE 'old_passwords'</code>
Verstehen der Ergebnisse
- Wenn das Ergebnis old_passwords,Off lautet, ist der Server für die Verwendung der neuen Authentifizierungsroutine konfiguriert. Benutzerkennwörter können im alten Format gespeichert werden, aber der Server verwendet die neue Routine zur Authentifizierung.
- Wenn das Ergebnis old_passwords,On lautet, ist der Server so konfiguriert, dass er standardmäßig die alte Authentifizierungsroutine verwendet. In diesem Fall wird das alte Passwortschema zur Authentifizierung verwendet.
Fehlerbehebung und Lösung
Um das Problem zu beheben, befolgen Sie diese Schritte:
-
Benutzerpasswortformat prüfen: Überprüfen Sie die Passwortlänge des Benutzers in der Tabelle mysql.user. Eine Länge von 16 Zeichen weist auf ein altes Passwort hin, während eine Länge von 41 Zeichen auf ein neues Passwort hinweist.
-
Neues Passwort festlegen (falls erforderlich): Wenn das Passwort des Benutzers im alten ist Formatieren, legen Sie mit dem folgenden Befehl ein neues Passwort fest:
<code class="sql">SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');</code>
-
Flush Privileges: Aktualisieren Sie die Berechtigungen der Datenbank, indem Sie Folgendes ausführen:
<code class="sql">FLUSH Privileges;</code>
-
Passwortlänge erneut überprüfen: Überprüfen Sie die Passwortlänge des Benutzers erneut in der Tabelle mysql.user. Es sollte jetzt 41 Zeichen lang sein, was darauf hinweist, dass das neue Passwortformat verwendet wird.
-
Verbindung neu erstellen: Nachdem Sie diese Schritte ausgeführt haben, versuchen Sie, mit Ihrem Client (z. B. mysqlnd) erneut eine Verbindung zur Datenbank herzustellen. . Die Verbindung sollte erfolgreich sein.
Zusätzliche Ressourcen
Weitere Informationen finden Sie in der folgenden MySQL-Dokumentation:
- http: //dev.mysql.com/doc/refman/5.0/en/old-client.html
- http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html
- http://dev.mysql.com/doc/refman/5.0/en/set-password.html
Das obige ist der detaillierte Inhalt vonWie behebt man den 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!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn