Fehler: mysqlnd kann mithilfe der Legacy-Authentifizierung keine Verbindung zu MySQL 4.1 herstellen
Bei der Verwendung der Schemata PHP 5.3 und MySQL 5.5 können Entwickler auf Folgendes stoßen Fehler:
Database connection failed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.
Diese Fehlermeldung bedeutet, dass mysqlnd, ein nativer MySQL-Treiber, aufgrund eines veralteten Authentifizierungsmechanismus, der in MySQL 4.1 oder früheren Versionen verwendet wird, keine sichere Verbindung herstellen kann.
Beheben des Problems
Um dieses Verbindungsproblem zu beheben, führen Sie die folgenden Schritte aus:
Entfernen oder kommentieren Sie die Einstellung „old_passwords“ in my .cnf:
Ändern Sie die Konfigurationsdatei my.cnf und suchen Sie die Zeile mit „old_passwords = 1“. Entfernen Sie diese Zeile oder kommentieren Sie sie aus, indem Sie am Anfang ein „#“-Zeichen hinzufügen.
MySQL neu starten:
Starten Sie den MySQL-Dienst neu Übernehmen Sie die in my.cnf vorgenommenen Änderungen. Dieser Schritt stellt sicher, dass MySQL das neue Passwortformat verwendet. Wenn es übersprungen wird, verwendet MySQL weiterhin das unsichere Format.
Benutzerkennwörter aktualisieren:
Stellen Sie eine Verbindung zur Datenbank her und führen Sie die folgende Abfrage zur Identifizierung aus Benutzer mit veralteten Passwörtern:
SELECT user, Length(`Password`) FROM `mysql`.`user`;
Diese Abfrage zeigt Benutzer mit alten (16 Zeichen) und neuen (41 Zeichen) Passwort-Hashes an.
Führen Sie Passwortaktualisierungen durch:
Benutzer mit 16-stelligen Passwort-Hashes aktualisieren ihre Passwörter mit dem folgenden Befehl:
UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username';
Ersetzen Sie „Benutzername“ durch den tatsächlichen Benutzernamen und „Passwort“. ' mit dem gewünschten neuen Passwort.
Flush Privileges:
Führen Sie abschließend den folgenden Befehl aus, um die aktualisierten Passwörter anzuwenden:
FLUSH PRIVILEGES;
Indem Sie diese Schritte ausführen, können Sie das durch die Legacy-Authentifizierung verursachte Verbindungsproblem beheben und mithilfe von mysqlnd eine sichere Verbindung zu MySQL herstellen.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „mysqlnd kann mithilfe 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!