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

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

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 12:11:29896Durchsuche

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'

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;
  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>
  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>

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!

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