Bei der Konfiguration des MySQL-Plugins können folgende Fehler auftreten:
Error: Connection Error – Dieser Fehler weist in der Regel darauf hin, dass ein Problem beim Herstellen einer Verbindung zur Datenbank vorliegt.In manchen Fällen wird diese Meldung durch eine Meldung über eine verweigerte Zugriffsberechtigung ergänzt, wie unten dargestellt.
Fehler: Connection Error: (1045, "Access denied for user 'root'@'localhost' (using password: NO)") – Dieser Fehler weist in der Regel darauf hin, dass der MySQL-Server den Anmeldeversuch für den Root-Benutzer vom lokalen Host ablehnt. Das kann folgende Ursachen haben:
- Ein Kennwort ist erforderlich, wurde jedoch nicht angegeben (wie durch "using password: NO") angezeigt.
- Der Benutzer hat keinen Zugriff vom lokalen Host aus.
Es gibt einige Maßnahmen, die Sie ergreifen können, um die Fehler zu beheben:
1. Vergewissern Sie sich, dass der MySQL-Server ausgeführt wird.
Überprüfen Sie, ob der MySQL-Server läuft. Unter Linux können Sie den folgenden Befehl nutzen:
sudo systemctl start mysql
2. Beheben des Fehlers Access denied for user 'root'@'localhost'.
Erstellen Sie einen MySQL-Benutzer und erteilen Sie diesem Benutzer die Berechtigung für SELECT ON-Abfragen.
Hinweis: Es wird empfohlen, den Root-Benutzer nicht für die Überwachung von MySQL zu nutzen. Stattdessen sollten Sie dedizierte Benutzer mit nur den erforderlichen Berechtigungen erstellen und diese nutzen.
- Um einen MySQL-Benutzer zu erstellen, nutzen Sie bitte den folgenden Befehl:
CREATE USER username@hostname IDENTIFIED BY 'password';
- Erteilen Sie dem Benutzer mit dem folgenden Befehl die SELECT ON-Berechtigung:
GRANT SELECT ON mysql.* TO username@hostname IDENTIFIED BY 'password';
Erstellen Sie beispielsweise einen Benutzer mit dem Namen 'site24x7' und dem Kennwort 'site24x7'. Erteilen Sie dem 'site24x7'-Benutzer die SELECT ON-Berechtigung sowie die Privilegien SUPER und/oder REPLICATION CLIENT und löschen Sie die Privilegien wie unten gezeigt:
CREATE USER site24x7@localhost IDENTIFIED BY 'site24x7';
GRANT SELECT ON mysql.* TO site24x7@localhost IDENTIFIED BY 'site24x7';
use mysql;
UPDATE mysql.user SET Super_Priv='Y' WHERE user='site24x7' AND host='localhost'; (or)
UPDATE mysql.user SET Repl_client_priv='Y' WHERE user='site24x7' AND host='localhost';
FLUSH PRIVILEGES;
Für MariaDB nutzen Sie den folgenden Befehl:
CREATE USER site24x7@localhost IDENTIFIED BY 'site24x7';
GRANT SUPER ON *.* TO 'site24x7'@'localhost';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'site24x7'@'localhost';
FLUSH PRIVILEGES;
3. Ermöglichen Sie den Zugriff für den Benutzer 'username'@'localhost' mit dem Passwort: YES/NO.
- Achten Sie darauf, dass der Benutzername und das Passwort korrekt sind.
- Setzen Sie das Passwort bei Bedarf zurück.
- Stellen Sie sicher, dass der Benutzer über die erforderlichen Berechtigungen verfügt, um sich von dem angegebenen Host aus zu verbinden.
Hinweis: Sollten Sie in der Fehlermeldung den Begriff 'cryptography' finden, vergewissern Sie sich, dass das Python-Modul für Kryptografie auf Ihrem Server installiert ist.
Um das Kryptografie-Modul zu installieren, führen Sie den folgenden Befehl aus: pip3 install cryptography
Zusätzliche Dokumentation: