Fehler 1045 (28000) Zugriff verweigert für Benutzer root localhost (Gelöst)
Veröffentlicht: 2023-03-14„Error 1045 (28000) access denied for user root localhost“ ist ein häufig auftretender Fehler beim Versuch, über das WordPress-CMS auf MySQL zuzugreifen. Dieser Fehler kann jedoch auch in anderen Situationen auftreten.
Der Fehler, auf den Sie stoßen, deutet darauf hin, dass der Benutzer „root“ nicht über die erforderlichen Berechtigungen verfügt, um von localhost aus auf die Datenbank zuzugreifen. Die Gründe für dieses Problem können vielfältig sein, einschließlich eines falschen Kennworts, eines falschen Benutzernamens oder unzureichender Berechtigungen, die dem Benutzer gewährt wurden.
Hier sind einige Schritte, die Sie unternehmen können, um diesen Fehler zu beheben
1. Überprüfen Sie den Benutzernamen und das Passwort
Stellen Sie sicher, dass Sie den richtigen Benutzernamen und das richtige Passwort verwenden. Der Benutzername sollte „root“ sein und das Passwort sollte dasjenige sein, das Sie während des Installationsvorgangs festgelegt haben.
Falls Sie WordPress verwenden, müssen Sie Ihre wp-config.php- Datei überprüfen. Die Datei befindet sich im Hauptordner von WordPress.
Nachdem Sie die Datei geöffnet und versucht haben, sie zu bearbeiten (Visual Studio Code), sehen Sie diesen Bildschirm:
Überprüfen Sie DB_USER und DB_PASSWORD, ob sie die richtigen Werte haben
/** Database username */ define( 'DB_USER', 'root' );
/** Database password */ define( 'DB_PASSWORD', 'root' );
Wenn Sie Ihren Benutzernamen und Ihr Passwort für die DB nicht kennen, greifen Sie auf cPanel > Database > Mysql zu und überprüfen Sie es.
Um das Passwort der WordPress-Datenbank zu ändern, folgen Sie bitte dem Tutorial: WordPress-Passwort in PHPMyAdmin ändern
2. Überprüfen Sie, ob der Benutzer die erforderlichen Berechtigungen hat
Überprüfen Sie, ob der Benutzer „root“ die erforderlichen Rechte hat, um auf die Datenbank zuzugreifen.
Schritt 1: Zuerst müssen Sie Ihr Terminal öffnen und ssh [email protected] schreiben
ssh [email protected]
Schritt 2: Nach erfolgreicher Anmeldung notieren Sie sich diesen Befehl
mysql -uroot -p
Schritt 3: Nachdem Sie Ihr Passwort hinzugefügt haben, können Sie mit dem Hinzufügen Ihres Befehls von der mysql-Eingabeaufforderung beginnen
Schritt 4: Sie können den folgenden Befehl verwenden, um die Berechtigungen zu überprüfen:
SHOW GRANTS FOR 'root'@'localhost';
Dies zeigt Ihnen die Liste der Berechtigungen, die der Benutzer „root“ für den „localhost“-Server hat. Wenn der Benutzer nicht über die erforderlichen Berechtigungen verfügt, können Sie ihn mit dem folgenden Befehl erteilen:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';
Hinweis: Ersetzen Sie „password“ durch das Passwort, das Sie verwenden möchten.
Um zu überprüfen, ob der Benutzer mit phpMyAdmin über die erforderlichen Berechtigungen verfügt, gehen Sie folgendermaßen vor:
- Melden Sie sich bei Ihrem phpMyAdmin-Konto an.
- Klicken Sie auf die Registerkarte „Benutzerkonten“.
- Wählen Sie den Benutzer root (oder den, bei dem Sie das Passwort ändern möchten)
- Klicken Sie auf den Link Berechtigungen bearbeiten
- Hier sehen Sie die Liste der Berechtigungen, die dem Benutzer gewährt wurden.
- Stellen Sie sicher, dass dem Benutzer die erforderlichen Berechtigungen für den Zugriff auf die Datenbank erteilt wurden.
- Wenn der Benutzer nicht über die erforderlichen Berechtigungen verfügt, können Sie diese erteilen, indem Sie die entsprechenden Kontrollkästchen aktivieren und auf die Schaltfläche „Los“ klicken.
- Nachdem Sie die erforderlichen Berechtigungen erteilt haben, versuchen Sie erneut, auf die Datenbank zuzugreifen, um zu sehen, ob das Problem behoben wurde.
Die Einstellungen im markierten Bereich sollten überprüft werden:
Hinweis: Wenn Sie die erforderlichen Berechtigungen nicht über phpMyAdmin erteilen können, müssen Sie möglicherweise auf die MySQL-Befehlszeilenschnittstelle zugreifen, um die Berechtigungen zu erteilen.
3. Überprüfen Sie den Status des MySQL-Servers
Stellen Sie sicher, dass der MySQL-Server läuft. Sie können den Serverstatus überprüfen, indem Sie nach der Anmeldung in der Server-Shell den folgenden Befehl ausführen:
systemctl status mysql
Wenn der Server nicht läuft, starten Sie ihn mit dem folgenden Befehl:
systemctl start mysql
Um den Mysql-Status auf dem cPanel-Hosting zu überprüfen, müssen Sie sich bei Ihrem Hosting-Dashboard anmelden. Eine andere Möglichkeit besteht darin, sich direkt an Ihren Hosting-Provider zu wenden.
4. Überprüfen Sie, ob der MySQL-Server den richtigen Port überwacht
Stellen Sie sicher, dass der MySQL-Server den richtigen Port überwacht. Der Standardport für MySQL ist 3306 .
Um zu überprüfen, ob der MySQL-Server den richtigen Port abhört, können Sie die folgenden Schritte ausführen:
1. Öffnen Sie ein Terminal oder eine Eingabeaufforderung auf Ihrem Server, auf dem MySQL installiert ist.
2. Stellen Sie mit dem Befehlszeilen-Client eine Verbindung zum MySQL-Server her. Sie können den folgenden Befehl verwenden und username
und password
durch Ihre tatsächlichen MySQL-Anmeldeinformationen ersetzen:
mysql -u username -p
3. Sobald Sie mit dem MySQL-Server verbunden sind, geben Sie den folgenden Befehl ein, um die Portnummer anzuzeigen, die der MySQL-Server überwacht:
SHOW VARIABLES LIKE 'port';
Dieser Befehl zeigt die Portnummer an, die der MySQL-Server überwacht. Standardmäßig lauscht MySQL auf Port 3306.
Sie können die Portnummer auch in der MySQL-Konfigurationsdatei überprüfen.
Die Konfigurationsdatei heißt normalerweise my.cnf
oder my.ini
und befindet sich im MySQL-Installationsverzeichnis.
Um das MySQL-Installationsverzeichnis zu finden, können Sie diesen Schritten folgen:
1. Öffnen Sie ein Terminal oder eine Eingabeaufforderung auf Ihrem Server, auf dem MySQL installiert ist.
2. Geben Sie den folgenden Befehl ein, um zu prüfen, ob MySQL installiert ist:
which mysql
Wenn MySQL installiert ist, zeigt dieser Befehl den Pfad zur ausführbaren mysql
Datei an, andernfalls erhalten Sie eine Fehlermeldung.
Wenn MySQL installiert ist, können Sie den which
Befehl erneut verwenden, um das Installationsverzeichnis zu finden. Geben Sie den folgenden Befehl ein und ersetzen Sie dabei /path/to/mysql
durch den Pfad zur ausführbaren mysql
Datei:
which mysql | xargs readlink -f | sed "s|bin/mysql$||"
Dieser Befehl zeigt das MySQL-Installationsverzeichnis an. Sie können dieses Verzeichnis verwenden, um die MySQL-Konfigurationsdatei ( my.cnf
oder my.ini
) und andere MySQL-Dateien und -Verzeichnisse zu finden.
Wenn Sie Zugriff auf den MySQL-Client haben, können Sie alternativ auch die folgende Abfrage ausführen, um das MySQL-Installationsverzeichnis zu finden:
SELECT @@basedir;
Dadurch wird das MySQL-Installationsverzeichnis angezeigt.
Sie können auch die MySQL-Konfigurationsdatei überprüfen, um die Portnummer zu überprüfen, auf der MySQL zum Abhören konfiguriert ist. Die Konfigurationsdatei heißt normalerweise my.cnf oder my.ini und befindet sich im MySQL-Installationsverzeichnis.
Öffnen Sie die Konfigurationsdatei mit einem Texteditor und suchen Sie nach dem Port-Parameter. Der Wert dieses Parameters gibt die Portnummer an, auf der MySQL zum Abhören konfiguriert ist.
Wenn der MySQL-Server nicht den richtigen Port überwacht, können Sie den Port-Parameter in der Konfigurationsdatei ändern und den MySQL-Server neu starten, um die Änderungen zu übernehmen.
Vergessen Sie nicht, den Mysql-Dienst neu zu starten, wenn Sie den Port geändert haben:
service mysql restart
5. Setzen Sie das Root-Passwort zurück
Wenn keiner der oben genannten Schritte funktioniert, können Sie versuchen, das Root-Passwort zurückzusetzen. Sie können dies tun, indem Sie die Schritte in diesem Artikel befolgen:
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
Hinweis: Für diese Methode benötigen Sie Zugriff auf die MySQL-Konfigurationsdatei und die Möglichkeit, den MySQL-Server neu zu starten.
Vielleicht interessiert Sie die Lektüre:
So beheben Sie den Fehler „Installation fehlgeschlagen: Verzeichnis konnte nicht erstellt werden“ in WordPress
So beheben Sie das Feststecken von WordPress im Wartungsmodus (GELÖST)
So beheben Sie „Aktualisierung fehlgeschlagen. Die Antwort ist keine gültige JSON-Antwort“
Wie behebt man „Fehler beim Herstellen einer Datenbankverbindung“? – 2023
Als einer der Mitbegründer von Codeless bringe ich Fachwissen in der Entwicklung von WordPress und Webanwendungen sowie eine Erfolgsbilanz bei der effektiven Verwaltung von Hosting und Servern mit. Meine Leidenschaft für den Erwerb von Wissen und meine Begeisterung für die Konstruktion und das Testen neuartiger Technologien treiben mich zu ständiger Innovation und Verbesserung an.