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
Freigeben: 2024-12-18 22:40:15
Original
349 Leute haben es durchsucht

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
Nach dem Login kopieren
  1. Erstellen Sie den Benutzer mit dem gewünschten Benutzernamen und Passwort :
CREATE USER 'golden'@'%' IDENTIFIED BY 'password';
Nach dem Login kopieren
  1. Zuschussspezifisch Berechtigungen für den Benutzer:
GRANT <privileges> ON database.* TO 'golden'@'localhost' IDENTIFIED BY 'password';
Nach dem Login kopieren
  1. 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:

  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!

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