Heim >Datenbank >MySQL-Tutorial >MySQL-Zugriff verweigert: Warum kann mein Nicht-Root-Benutzer keine Verbindung herstellen?

MySQL-Zugriff verweigert: Warum kann mein Nicht-Root-Benutzer keine Verbindung herstellen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-03 01:35:38495Durchsuche

MySQL Access Denied: Why Can't My Non-Root User Connect?

MySQL: Zugriff für Nicht-Root-Benutzer verweigert

Problem:

Beim Versuch Wenn Sie sich als Nicht-Root-Benutzer bei MySQL anmelden, wird die Fehlermeldung „Zugriff verweigert für Benutzer ‚test‘@‘localhost‘ (mit Passwort: JA)“ wird angezeigt, obwohl der Benutzer erstellt und Berechtigungen gewährt wurden.

Schritte zum Erstellen von Benutzern und Berechtigungen:

  • MySQL wurde auf RHEL 5.7 64bit installiert
  • MySQL-Datenbank erstellt mit mysql_install_db
  • MySQL-Dienst gestartet
  • MySQL_Upgrade durchgeführt

Problem mit Nicht-Root-Benutzerzugriff:

Das Problem tritt auf beim Versuch, sich als Nicht-Root anzumelden Benutzer.

Lösung:

Um den Fehler „Zugriff verweigert“ zu beheben, vermeiden Sie es, einem Nicht-Root-Benutzer alle Berechtigungen für alle Datenbanken zu gewähren. Diese Vorgehensweise ist nicht sicher und beeinträchtigt die Systemintegrität. Gewähren Sie dem Benutzer stattdessen nur die erforderlichen Berechtigungen.

Befehl erteilen:

Der folgende Befehl kann verwendet werden, um einem Benutzer bestimmte Berechtigungen zu gewähren:

GRANT <privileges> ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

Zum Beispiel gewährt der folgende Befehl Berechtigungen zum Einfügen, Auswählen, Löschen und Aktualisieren für die Datenbank "test":

GRANT INSERT, SELECT, DELETE, UPDATE ON test.* TO 'user'@'localhost' IDENTIFIED BY 'password';

Zusätzliche Informationen:

Eine detaillierte Liste aller Berechtigungen finden Sie in der MySQL-Dokumentation. Um Informationen zu Benutzerhosts anzuzeigen, führen Sie die folgende Abfrage aus (angemeldet als „root“):

select Host, User from mysql.user;

Das obige ist der detaillierte Inhalt vonMySQL-Zugriff verweigert: Warum kann mein Nicht-Root-Benutzer keine Verbindung herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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