Présentation
Suite à la mise à jour d’un serveur sous Debian, je connais quelques déboires avec le gestionnaire de base de données qui est installé dessus à savoir mariaDB (même s’il ne gère qu’une petite base pour du wordpress…). En effet, celui-ci se met à réclamer une consommation de mémoire trop importante et termine finalement par crasher après quelques heures. Le problème qui est en découle est facile à deviner, le site est accessible mais il affiche : « Error establishing a database connection »
Pour être alerté rapidement du problème, j’ai décidé de mettre en place une vérification à l’aide de l’outil Centreon. Le contrôle aura pour but de vérifier le service mysql sur le serveur externe au réseau local, et d’envoyer une notification en cas de problème, mais pour se faire il faut autoriser les connexions distantes sur MariaDB.
Configuration
Pour commencer il faut autoriser les accès réseau externes pour interroger une base de données en éditant votre fichier cnf :
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Il suffit de commenter les lignes suivantes :
bind-address skip-networking
Il faut ensuite donner les droits à un utilisateur MySQL (créé uniquement pour la supervision) d’interroger la ou les bases.
Vous pouvez commencer par vérifier les accès donnés à l’aide de la commande suivante :
SELECT User, Host FROM mysql.user WHERE Host <> 'localhost';
Le résultat sera le suivant s’il n’y a pas encore d’accès :
Empty set (0.00 sec)
Dans mon cas je préfère donner uniquement les droits de « lecture » à mon utilisateur et seulement si cela provient de l’adresse IP de mon réseau :
GRANT select on *.* to 'compte_user'@'adresse_ip' IDENTIFIED BY 'mdp_user';
Vous pouvez à nouveau exécuter la commande pour vérifier les droits, et le résultat sera une table avec votre utilisateur et son adresse.
Il ne reste plus que les étapes concernant Centreon (créer le service et associer la commande pour vérifier mysql) mais que je ne vais pas détailler dans cet article.
Si vous avez des questions ou besoin d’aide, n’hésitez pas à laisser un commentaire ou à me contacter. 🙂