Heim  >  Artikel  >  Datenbank  >  Warum kann ich in Ubuntu 16.04 keine Verbindung zu MySQL als „root“ herstellen?

Warum kann ich in Ubuntu 16.04 keine Verbindung zu MySQL als „root“ herstellen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-30 11:53:02733Durchsuche

Why Can't I Connect to MySQL as 'root' in Ubuntu 16.04?

Datenbankzugriff für „root“-Benutzer in Ubuntu 16.04 verweigert

Beim Zugriff auf eine Datenbank über einen Webserver in Ubuntu 16.04 kann Folgendes auftreten: der Fehler „SQLSTATE[HY000] [1698] Zugriff verweigert für Benutzer ‚root‘@‘localhost‘“. Dieses Problem tritt trotz der Erstellung neuer Benutzer mit allen Berechtigungen auf.

Root-Benutzereinschränkungen in MySQL 5.7

Die Hauptursache für diesen Fehler liegt in den in MySQL 5.7 eingeführten Änderungen. Dadurch wird die Verwendung des Benutzers „root“ ohne Sudo-Berechtigungen eingeschränkt. In früheren Versionen konnten Benutzer mit dem Befehl „mysql -u root“ als „root“ auf MySQL zugreifen, ohne ihre Berechtigungen zu erhöhen. In MySQL 5.7 ist dieser Ansatz jedoch nicht mehr möglich.

Problemumgehung

Um dieses Problem zu beheben, müssen Sie einen neuen Benutzer mit den erforderlichen Berechtigungen erstellen und verwenden diesen Benutzer anstelle von „root“, wenn Sie Datenbankverbindungen von Ihrer PHP-Anwendung oder anderen Nicht-Befehlszeilen-Tools aus herstellen.

PHP-Code

Ersetzen Sie in Ihrem PHP-Code das Benutzername und Passwort mit den Anmeldeinformationen des neu erstellten Benutzers:

<code class="php">protected $name = 'new_user';
protected $pass = 'new_password';</code>

Root-Zugriff über die Befehlszeile

Während Sie den „Root“-Benutzer nicht direkt verwenden können Bei GUI- oder Nicht-Befehlszeilenanwendungen können Sie weiterhin über die Befehlszeile mit sudo als „root“ auf MySQL zugreifen:

sudo mysql -u root

Bedenken Sie, dass dieser Ansatz Ihre Berechtigungen erweitert und nur bei Bedarf verwendet werden sollte. Aus Sicherheitsgründen wird empfohlen, einen dedizierten Benutzer für die Datenbankverwaltung zu erstellen und diesen Benutzer anstelle von „root“ zu verwenden.

Das obige ist der detaillierte Inhalt vonWarum kann ich in Ubuntu 16.04 keine Verbindung zu MySQL als „root“ herstellen?. 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