Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich die MySQL-Fehlermeldung „Zugriff verweigert' für den Benutzer „test2' @ „localhost'?

Warum erhalte ich die MySQL-Fehlermeldung „Zugriff verweigert' für den Benutzer „test2' @ „localhost'?

Susan Sarandon
Freigeben: 2024-11-30 05:46:14
Original
867 Leute haben es durchsucht

Why am I Getting a MySQL

MySQL-Zugriff verweigert Fehler: 'test2'@'localhost'

Beim Auftreten des Fehlers „SQLSTATE[HY000] [1045] Zugriff verweigert für Benutzer „test2“@‘localhost‘“ zeigt an, dass der Verbindungsversuch zur MySQL-Datenbank als Benutzer „test2“ vom Host aus durchgeführt wurde „localhost“ ist aufgrund von Anmeldedaten- oder Autorisierungsproblemen fehlgeschlagen.

Grundlegende Ursachen

Dieser Fehler kann aus mehreren Gründen auftreten:

  • Falsche Anmeldeinformationen: Stellen Sie sicher, dass der Benutzername „test2“ und das Passwort „computer“ in der Anwendungskonfiguration angegeben sind (app.php) sind beide gültig.
  • Benutzer nicht erstellt: Stellen Sie sicher, dass ein MySQL-Benutzer mit dem Namen „test2“ in Ihrer Datenbank vorhanden ist. Sie können dies überprüfen, indem Sie die folgende Abfrage als privilegierter Benutzer (z. B. Root) ausführen:

    SELECT user, host FROM mysql.user WHERE user = 'test2';
    Nach dem Login kopieren

    Wenn die Abfrage keine Zeile zurückgibt, existiert der Benutzer nicht.

  • Benutzerzugriffsbeschränkungen: Auch wenn der Benutzer existiert, verfügt er möglicherweise nicht über ausreichende Berechtigungen, um eine Verbindung zur Datenbank herzustellen oder auf die angegebene Datenbank (Jobs) zuzugreifen. Überprüfen Sie die dem Benutzer für die Jobdatenbank gewährten Berechtigungen.

Schritte zur Fehlerbehebung

Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

  1. Anmeldeinformationen überprüfen: Geben Sie den Benutzernamen und das Passwort erneut ein, um sicherzustellen, dass dies der Fall ist korrekt.
  2. Datenbankbenutzer erstellen (falls fehlt): Wenn der Benutzer „test2“ nicht gefunden wird, erstellen Sie ihn mit der folgenden Abfrage:

    CREATE USER 'test2'@'localhost' IDENTIFIED BY 'computer';
    Nach dem Login kopieren
  3. Berechtigungen gewähren: Stellen Sie sicher, dass der Benutzer „test2“ über die erforderlichen Berechtigungen für den Zugriff auf die Jobdatenbank verfügt. Führen Sie die folgende Abfrage als privilegierter Benutzer aus:

    GRANT SELECT, UPDATE, INSERT, DELETE ON jobs.* TO 'test2'@'localhost';
    Nach dem Login kopieren
  4. Berechtigungen löschen: Nachdem Sie Änderungen an den Berechtigungen vorgenommen haben, löschen Sie diese, um sicherzustellen, dass sie wirksam werden:

    FLUSH PRIVILEGES;
    Nach dem Login kopieren

Zusätzlich Überlegungen

  • Überprüfen Sie den Hostwert in der Verbindungszeichenfolge. Es sollte mit dem Host übereinstimmen, auf dem Ihr MySQL-Server läuft. In diesem Fall ist „localhost“ korrekt, wenn Sie auf demselben Computer eine Verbindung zur Datenbank herstellen.
  • Deaktivieren Sie alle Firewalls oder Antivirensoftware, die die Verbindung blockieren könnten.
  • Erwägen Sie eine Änderung des Hostnamens für den Datenbankbenutzer auf „%“, wodurch Verbindungen von jedem Host aus möglich sind. Dies ist jedoch weniger sicher als die Angabe eines bestimmten Hostnamens.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die MySQL-Fehlermeldung „Zugriff verweigert' für den Benutzer „test2' @ „localhost'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage