Heim  >  Artikel  >  Datenbank  >  Warum kann ich in Ubuntu als Root-Benutzer nicht auf meine MySQL-Datenbank zugreifen?

Warum kann ich in Ubuntu als Root-Benutzer nicht auf meine MySQL-Datenbank zugreifen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 00:10:28330Durchsuche

Why Can't I Access My MySQL Database as Root User in Ubuntu?

SQLSTATE[HY000] [1698] Zugriff verweigert für Benutzer „root“ auf localhost

Begegnungen mit „SQLSTATE[HY000] [1698] Zugriff verweigert für Benutzer „ Der Fehler „root‘@‘localhost‘“ nach dem Einrichten eines Ubuntu-Webservers kann frustrierend sein. Auch wenn der Zugriff auf die Datenbank über das Terminal möglich zu sein scheint, bleiben Fehler in PHP und phpMyAdmin bestehen. Das Verständnis der zugrunde liegenden Ursache ist für die Lösung dieses Problems von entscheidender Bedeutung.

Root-Benutzereinschränkungen

Ab MySQL 5.7 werden Einschränkungen für den Root-Benutzer eingeführt. Ohne erhöhte Rechte ist ein direkter Zugriff auf MySQL mit mysql -u root nicht mehr möglich. Stattdessen ist sudo mysql -u root erforderlich, was zur Eingabe eines Passworts führt.

Diese Einschränkung gilt auch für GUI- und Nicht-Befehlszeilenanwendungen. Um dieses Problem zu beheben, erstellen Sie einen neuen Benutzer mit den erforderlichen Berechtigungen, anstatt den Root-Benutzer zu verwenden.

Implementierung in PHP

Im bereitgestellten PHP-Code sind Anmeldeinformationen enthalten fest codiert. Um Einschränkungen für Root-Benutzer zu umgehen, ändern Sie die Methode __construct(), um einen neuen Benutzer mit den entsprechenden Berechtigungen einzubinden:

<code class="php">public function __construct() {
    try {
        $this->conn = new PDO("mysql:host=$this->host;dbname=$this->db", $this->name, $this->pass, self::$settings);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}</code>

Ersetzen Sie $this->name und $this->pass durch die Anmeldeinformationen des neu erstellten Benutzers . Stellen Sie sicher, dass der Benutzer über die erforderlichen Berechtigungen für den Zugriff auf die Datenbank verfügt.

Zusätzliche Ressourcen

Weitere Einblicke und Schritte zur Fehlerbehebung finden Sie in der folgenden Ressource:

  • [MySQL-Fehlercode 1698: Zugriff verweigert für Benutzer 'root'@'localhost'](https://www.cybertec-postgresql.com/en/mysql-error-1698-access-denied-for- user-rootlocalhost/)

Das obige ist der detaillierte Inhalt vonWarum kann ich in Ubuntu als Root-Benutzer nicht auf meine MySQL-Datenbank zugreifen?. 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