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:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
Ändern Sie den PHP-Code, um eine Verbindung mit den neuen Benutzeranmeldeinformationen herzustellen:
<code class="php">protected $name = 'newuser'; protected $pass = 'password';</code>
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:
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!