Fehler „Zugriff verweigert“ beim Herstellen einer Verbindung zu MySQL in CakePHP
Problem:
Entwickler, die CakePHP verwenden Beim Versuch, eine Verbindung zu einer MySQL-Datenbank herzustellen, kann der folgende Fehler auftreten:
SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost' (using password: YES)
Lösung:
Dieser Fehler weist normalerweise auf Folgendes hin:
Schritte zur Fehlerbehebung:
Benutzerexistenz überprüfen:
Führen Sie die folgende Abfrage von einem MySQL-Client aus aus, auf dem Sie über ausreichende Berechtigungen verfügen:
SELECT user, host FROM mysql.user WHERE user = 'username' AND host = 'localhost';
Wenn keine Zeile zurückgegeben wird, Der Benutzer ist auf dem angegebenen Host nicht vorhanden.
Wenn die Zeile vorhanden ist, fahren Sie mit Schritt 3 fort.
Erstellen Sie den MySQL-Benutzer:
Wenn der Benutzer nicht existiert, erstellen Sie ihn mit dem folgenden Befehl:
CREATE USER username@localhost IDENTIFIED BY 'password';
Passwort zurücksetzen:
Wenn Der Benutzer existiert, aber das Passwort ist falsch. Setzen Sie ihn mit dem folgenden Befehl zurück:
SET PASSWORD FOR username@localhost = PASSWORD('new_password');
Berechtigungen erteilen:
Stellen Sie sicher, dass der Benutzer verfügt über die erforderlichen Berechtigungen für die Datenbankobjekte:
GRANT <permissions> ON <database_name>.* TO username@localhost;
Ersetzen Sie
Flush-Berechtigungen:
Führen Sie den folgenden Befehl aus, um MySQL zum erneuten Lesen zu zwingen die Berechtigungstabellen:
FLUSH PRIVILEGES;
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Zugriff verweigert', wenn ich in CakePHP eine Verbindung zu MySQL herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!