MySQL-Verbindungsfehler aufgrund unsicherer Authentifizierung beheben
Beim Versuch, eine Datenbankverbindung herzustellen, kann der folgende Fehler auftreten:
Database connection failed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password').
Nach dem Login kopieren
Dieses Problem tritt aufgrund einer Nichtübereinstimmung zwischen den Versionen von PHP und MySQL auf. MySQL hat seine Sicherheitsmaßnahmen verbessert und erfordert die Verwendung sichererer Authentifizierungsmethoden.
Lösung:
-
Serverkonfiguration aktualisieren:
- Konsultieren Sie auf Ihrem Webhosting-Server (Medientempel) Ihren Host, um die MySQL-Version auf 5.5.16 oder höher zu aktualisieren (entsprechen Sie der Version auf Ihrem lokalen Computer).
-
Unsichere Authentifizierung deaktivieren:
- Suchen Sie die Konfigurationsdatei „my.cnf“ (z. B. „/etc/my.cnf“). oder „/opt/lampp/etc/my.cnf“).
- Entfernen oder kommentieren Sie die Zeile „old_passwords = 1“.
-
MySQL neu starten:
- Um die Änderungen zu übernehmen, starten Sie den MySQL-Dienst neu.
-
Passwörter zurücksetzen:
- Stellen Sie mit einem Verwaltungstool (z. B. MySQL Workbench oder phpMyAdmin) eine Verbindung zur MySQL-Datenbank her.
- Führen Sie die Abfrage „SELECT user, Length(Password) FROM mysql.user;“ aus. um Benutzer mit unsicheren Passwörtern zu identifizieren (16-stelliger Hash).
- Aktualisieren Sie das Passwort für jeden Benutzer mit unsicherer Authentifizierung mithilfe der Abfrage „UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username ';".
-
Flush Privileges:
- Führen Sie die Abfrage „FLUSH PRIVILEGES;“ aus. um die Passwortänderungen weiterzugeben.
Zusätzliche Überlegungen:
- Wenn Sie PHP 5.2 oder früher verwenden Serverseitig müssen Sie möglicherweise das Flag „old-passwords“ aus der Datei „my.cnf“ entfernen, um veraltete Authentifizierungsmethoden zuzulassen.
- Stellen Sie sicher, dass das MySQL-Root-Benutzerkennwort sicher ist, wie im Fehler erwähnt Nachricht.
Das obige ist der detaillierte Inhalt vonHier sind einige Optionen für einen Artikeltitel, basierend auf Ihrem Inhalt, formatiert als Frage:
**Allgemein und Fokus auf Fehlermeldung:**
* **So beheben Sie das Problem: „MySQL kann keine Verbindung zu MySQL 4.1 herstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!