Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich für Nicht-Root-Benutzer die MySQL-Fehlermeldung „Zugriff verweigert'?

Warum erhalte ich für Nicht-Root-Benutzer die MySQL-Fehlermeldung „Zugriff verweigert'?

Susan Sarandon
Susan SarandonOriginal
2024-12-18 22:40:15351Durchsuche

Why Am I Getting a MySQL

MySQL-Zugriff für Nicht-Root-Benutzer verweigert: Ein umfassender Leitfaden

Einführung

MySQL , ein weit verbreitetes relationales Datenbankverwaltungssystem, bietet Benutzerkontenverwaltung zur Steuerung des Zugriffs auf Datenbanken. Nicht-Root-Benutzer stoßen jedoch manchmal auf die Fehlermeldung „Zugriff verweigert“, wenn sie versuchen, sich anzumelden. In diesem Artikel soll dieses Problem behoben werden, indem die Schritte zum Erstellen von Nicht-Root-Benutzern und zur Behebung des Fehlers „Zugriff verweigert“ erläutert werden.

Nicht-Root-Benutzer in MySQL erstellen

Um einen Nicht-Root-Benutzer zu erstellen, befolgen Sie diese Schritte Schritte:

  1. Als Root mit MySQL verbinden:
mysql -u root -p
  1. Erstellen Sie den Benutzer mit dem gewünschten Benutzernamen und Passwort :
CREATE USER 'golden'@'%' IDENTIFIED BY 'password';
  1. Zuschussspezifisch Berechtigungen für den Benutzer:
GRANT <privileges> ON database.* TO 'golden'@'localhost' IDENTIFIED BY 'password';
  1. Flush-Berechtigungen zum Erzwingen von Änderungen:
FLUSH PRIVILEGES;

Fehlerbehebung bei „Zugriff verweigert“-Fehlern

Wenn ein Nicht-Root-Benutzer eine Zugriffsverweigerung erhält Fehler, überprüfen Sie Folgendes:

  1. Passwort überprüfen: Stellen Sie sicher, dass das eingegebene Passwort korrekt ist.
  2. Benutzerrechte überprüfen: Verwenden Sie die SHOW GRANTS-Befehl, um zu überprüfen, ob der Benutzer über die erforderlichen Berechtigungen verfügt.
  3. Benutzer überprüfen Host: In der Fehlermeldung wird „golden“@„localhost“ erwähnt. Überprüfen Sie, ob dem Benutzer Zugriff vom richtigen Host (in diesem Fall „localhost“) gewährt wird.
  4. Socket-Berechtigungen prüfen: Stellen Sie sicher, dass der MySQL-Socket (/var/lib/mysql/mysql .sock) verfügt über die entsprechenden Berechtigungen (Lese- und Schreibzugriff für den MySQL-Benutzer).
  5. Altes Passwortformat deaktivieren:Bearbeiten /etc/my.cnf, setzen Sie old_passwords=0 und starten Sie MySQL neu.

Best Practices

  1. Nur ​​notwendige Berechtigungen gewähren: Vermeiden Sie es, Nicht-Root-Benutzern alle Berechtigungen zu gewähren. Geben Sie die spezifischen Berechtigungen an, die für ihre Aufgaben erforderlich sind.
  2. Hostspezifische Berechtigungen verwenden:Beschränken Sie den Benutzerzugriff auf bestimmte Hosts (z. B. „localhost“), um die Sicherheit zu erhöhen.
  3. Benutzeraktivität überwachen: Verwenden Sie Tools wie MySQL-Überwachungsprotokolle, um Benutzeraktivitäten zu verfolgen und verdächtige Ereignisse zu erkennen Verhalten.

Indem Sie diese Schritte befolgen, können Sie Nicht-Root-Benutzer in MySQL effektiv erstellen und Fehler beheben und so den sicheren Zugriff auf Datenbanken für verschiedene Benutzerprofile gewährleisten.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich für Nicht-Root-Benutzer die MySQL-Fehlermeldung „Zugriff verweigert'?. 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