Herstellen einer Verbindung zu MySQL 4.1 mit alter Authentifizierung mithilfe von MySQLi
Beim Versuch, mit MySQLi eine Verbindung zu einer MySQL-Datenbank herzustellen, kann es vorkommen, dass folgender Fehler:
Connect Error (2000) mysqlnd cannot connect to MySQL 4.1+ using old authentication
Dieser Fehler entsteht durch die Verwendung eines veralteten Passwort-Hashing-Schemas in MySQL-Versionen vor 4.1. Während neuere Versionen die Verwendung alter Passwörter ermöglichen, kann dies zu dem oben genannten Problem führen.
Um dieses Problem zu beheben, befolgen Sie diese Schritte:
Überprüfen Servereinstellungen:
Führen Sie die SQL-Abfrage SHOW VARIABLES LIKE 'old_passwords' aus; um festzustellen, ob der Server standardmäßig das alte Passwortschema verwendet (old_passwords,Off).
Konten mit alten Passwörtern identifizieren:
Verwenden Sie die Abfrage SELECT User`, `Host`, Length(`Password`) FROM mysql.user`, um Benutzerkonten und ihre Passwortlängen aufzulisten. Konten mit einer Passwortlänge von 16 verwenden das alte Schema, während eine Länge von 41 auf neue Passwörter hinweist.
Passwort für alte Konten ändern:
Aktualisieren Sie die Passwörter von Konten mit alten Passwörtern mit der Anweisung SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');. Denken Sie daran, „Benutzer“ und „Host“ durch die entsprechenden Werte aus Ihrer Abfrage zu ersetzen.
Flush-Berechtigungen:
FLUSH-PRIVILEGES ausführen; um die Änderungen zu übernehmen.
Passwortlänge überprüfen:
Führen Sie die Abfrage ab Schritt 2 erneut aus, um zu bestätigen, dass die Passwortlänge jetzt 41 beträgt .
Durch die Implementierung dieser Schritte sollten Sie in der Lage sein, mit MySQLi erfolgreich eine Verbindung zur MySQL-Datenbank herzustellen, auch wenn das alte Passwortschema verwendet wird.
Das obige ist der detaillierte Inhalt vonWie stelle ich mit MySQLi eine Verbindung zu MySQL 4.1 mit alter Authentifizierung her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!