Erreur centreon

Résolu/Fermé
tom200 - 20 juin 2021 à 00:11
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 30 sept. 2021 à 17:40
Bonjour,

Je suis tout nouveau en informatique et je m'essaye un peu en monitoring notamment sur l'environnement centreon. Et je galère depuis quelques jours avec cette erreur "
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' "

Je tiens à préciser que je ne suis qu'a l'installation et que je n'ai pas encore créer de base de données.

Je vous remercie d'avance pour les différentes aides que vous m'apporterez.

3 réponses

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
Modifié le 21 juin 2021 à 14:09
Bonjour,

Préliminaires

Cette erreur signifie que tu tentes de te connecter en local à ton serveur SQL avec le login
root
.

Dans SQL (que ce soit mysql ou postgresql), les profils sont définis par le couple (user, host). Dans mysql~MariaDB, ils sont plus précisément définis dans la base mysql, dans la table user (ce qui s'écrit
mysql.user
).

L'utilisateur
root@localhost
(ou
root@127.0.0.1
) est réserver à l'administrateur du serveur, pour se connecter au serveur SQL. Ce profil n'est pas sensé être utilisé par quelqu'un d'autre.

Quelques rappels (mysql)

Pour se connecter à un serveur de données, il faut bien évidemment qu'il soit installé et lancé.

Exemple : Sous Debian et les distributions qui en dérivent (Ubuntu, mint) pour installer MariaDB

sudo apt update
sudo apt install default-mysql-server


Tu peux ensuite contrôler qu'il est installé avec :

dpkg -l | egrep -i "maria|mysql"


Exemple : Pour vérifier que MariaDB est lancé :

(mando@antarctic) (~) $ systemctl status mysql.service 
● mariadb.service - MariaDB 10.5.8 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-01-29 22:14:16 UTC; 4 months 20 days ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/systemd/
Main PID: 1290395 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 15 (limit: 9396)
Memory: 1.3G
CGroup: /system.slice/mariadb.service
└─1290395 /usr/sbin/mariadbd


Exemple : dans cet exemple, je me connecte en
root@127.0.0.1
(dans la commande suivante, le paramètre
-h 127.0.0.1
est sous entendu)

(mando@machine) (~) $ mysql -u root -p

MariaDB [mysql]> select user, host from mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | machine |
| mariadb.sys | localhost |
| root | localhost |
+------------------+-----------+


Retour à ton problème

Dans ton cas, c'est un peu surprenant que Centreon tente de se connecter en root à ton serveur SQL. Normalement, chaque application à sa propre base de donnée et un profil SQL dédié pour s'y connecter (configuré de sorte à ne pas altérer les autres bases hébergées sur le serveur SQL). Par définition
root
a tous les droits et cela va donc à l'encontre de cette règle.

Commence par vérifier que le serveur SQL est installé et lancé. Assure-toi que la base centreon a été initialisée. J'imagine que centreon est livré avec un script qui va créer l'utilisateur SQL adéquat, la base centreon et les tables qu'elle contient (schéma). Contrôle notamment le contenu de
mysql.user
(en admettant que ce soit une serveur de base données de type mysql).

Enfin, tente de te connecter avec le profil SQL défini pour centreon depuis ton terminal. Si ça marche, c'est que tout va bien au niveau de la base de donnée. Sous réserve que Centreon utilise le même profil, lance la connexion depuis la même machine, et utilise le bon mot de passe, la connexion devrait alors s'établir.

Bonne chance
0