Heim  >  Artikel  >  Datenbank  >  Warum erhalte ich unter Ubuntu 16.04 die Meldung „Zugriff verweigert“ für den MySQL-Benutzer „root“?

Warum erhalte ich unter Ubuntu 16.04 die Meldung „Zugriff verweigert“ für den MySQL-Benutzer „root“?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 12:56:30306Durchsuche

Why Am I Getting

Zugriff für MySQL-Benutzer „root“ unter Ubuntu 16.04 verweigert

Beim Versuch, von einem Webserver unter Ubuntu 16.04 eine Verbindung zu einer MySQL-Datenbank herzustellen , können Benutzer auf den folgenden Fehler stoßen:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

Dieses Problem tritt auf, weil sich in MySQL 5.7 der Standardauthentifizierungsmechanismus geändert hat und auf den Root-Benutzer nicht mehr ohne erhöhte Berechtigungen zugegriffen werden kann.

Lösung:

Um diesen Fehler zu beheben, müssen Benutzer einen neuen MySQL-Benutzer mit den erforderlichen Berechtigungen erstellen, anstatt den Root-Benutzer zu verwenden. Die folgenden Schritte beschreiben den Prozess:

  1. Erstellen Sie einen neuen MySQL-Benutzer:
sudo mysql -u root -p
Geben Sie Ihr Root-Passwort ein, wenn Sie dazu aufgefordert werden.
CREATE USER new_user@localhost IDENTIFIED BY 'new_password';
Ersetzen Sie „new_user“ durch den gewünschten Benutzernamen und „new_password“ durch ein sicheres Passwort.
  1. Gewähren Sie dem neuen Benutzer Berechtigungen:
GRANT ALL PRIVILEGES ON *.* TO new_user@localhost;
Dies gewährt dem neuen Benutzer vollen Zugriff auf alle Datenbanken und Tabellen.
  1. Konfigurieren Sie den Webserver für die Verwendung eines neuen Benutzers:

Ändern Sie den PHP-Code in der bereitgestellten Frage, um die neu erstellten Benutzeranmeldeinformationen zu verwenden, und ersetzen Sie „root“ durch „new_user“ und „root“ durch „new_password“.

  1. Flush-Berechtigungen:
FLUSH PRIVILEGES;
Dadurch wird die Berechtigungstabelle mit den vorgenommenen Änderungen aktualisiert.
  1. MySQL beenden:
EXIT;

Durch Befolgen dieser Schritte können Benutzer von einem Webserver unter Ubuntu 16.04 aus eine Verbindung zu ihrer MySQL-Datenbank herstellen, ohne dass der Fehler „Zugriff verweigert“ auftritt.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich unter Ubuntu 16.04 die Meldung „Zugriff verweigert“ für den MySQL-Benutzer „root“?. 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