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:
- Als Root mit MySQL verbinden:
mysql -u root -p
Nach dem Login kopieren
- Erstellen Sie den Benutzer mit dem gewünschten Benutzernamen und Passwort :
CREATE USER 'golden'@'%' IDENTIFIED BY 'password';
Nach dem Login kopieren
- Zuschussspezifisch Berechtigungen für den Benutzer:
GRANT <privileges> ON database.* TO 'golden'@'localhost' IDENTIFIED BY 'password';
Nach dem Login kopieren
- Flush-Berechtigungen zum Erzwingen von Änderungen:
FLUSH PRIVILEGES;
Nach dem Login kopieren
Fehlerbehebung bei „Zugriff verweigert“-Fehlern
Wenn ein Nicht-Root-Benutzer eine Zugriffsverweigerung erhält Fehler, überprüfen Sie Folgendes:
-
Passwort überprüfen: Stellen Sie sicher, dass das eingegebene Passwort korrekt ist.
-
Benutzerrechte überprüfen: Verwenden Sie die SHOW GRANTS-Befehl, um zu überprüfen, ob der Benutzer über die erforderlichen Berechtigungen verfügt.
-
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.
-
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).
-
Altes Passwortformat deaktivieren:Bearbeiten /etc/my.cnf, setzen Sie old_passwords=0 und starten Sie MySQL neu.
Best Practices
-
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.
-
Hostspezifische Berechtigungen verwenden:Beschränken Sie den Benutzerzugriff auf bestimmte Hosts (z. B. „localhost“), um die Sicherheit zu erhöhen.
- 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!