Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie behebt man den Fehler „SQLSTATE[HY000] [1698] Zugriff verweigert für Benutzer „root' @ „localhost' in Ubuntu 16.04?

Patricia Arquette
Freigeben: 2024-11-01 12:11:29
Original
978 Leute haben es durchsucht

How to Fix

Fehlerbehebung „SQLSTATE[HY000] [1698] Zugriff verweigert für Benutzer ‚root‘@‘localhost‘“ Fehler in Ubuntu 16.04

Einführung:

Beim Versuch, über PHP oder phpMyAdmin auf eine MySQL-Datenbank zuzugreifen, kann der folgende Fehler auftreten:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Nach dem Login kopieren

Dieser Fehler weist darauf hin, dass dem Benutzer, der versucht, eine Verbindung zur Datenbank herzustellen, das Notwendige fehlt Berechtigungen.

Lösung:

Eine kürzliche Änderung in MySQL 5.7 verhindert, dass der Root-Benutzer ohne erhöhte Berechtigungen eine Verbindung zur Datenbank herstellen kann. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie einen neuen Benutzer mit Berechtigungen:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
Nach dem Login kopieren
  1. Aktualisieren Ihr PHP-Code:

Ändern Sie den PHP-Code, um eine Verbindung mit den neuen Benutzeranmeldeinformationen herzustellen:

<code class="php">protected $name = 'newuser';
protected $pass = 'password';</code>
Nach dem Login kopieren
  1. Mit Sudo verbinden:

Wenn Sie weiterhin den Root-Benutzer verwenden möchten, müssen Sie Ihre Berechtigungen erhöhen, indem Sie Befehle mit sudo ausführen:

<code class="sh">sudo mysql -u root</code>
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • Stellen Sie sicher, dass der neue Benutzer über die erforderlichen Berechtigungen für die Datenbankvorgänge verfügt, die Sie ausführen möchten.
  • Wenn Sie auf weitere Probleme stoßen, konsultieren Sie die MySQL-Dokumentation oder wenden Sie sich an MySQL Gemeinschaft.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „SQLSTATE[HY000] [1698] Zugriff verweigert für Benutzer „root' @ „localhost' in Ubuntu 16.04?. 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