Ouvrir son serveur Mariadb au réseau local
Beaucoup d’applications web que j’utilise au quotidien nécessitent une base de données sql. Ne voulant pas encombrer inutilement le serveur hôte avec des serveurs sql disséminés dans plusieurs containers, j’ai décidé de centraliser le serveur sql pour toutes mes applications web.
Configuration du serveur
Rien de compliqué, il suffit d’éditer le fichier
vi /etc/mysql/mariadb.conf.d/50-server.cnf
de chercher la ligne
bind-address = 127.0.0.1
de la remplacer par
bind-address = 192.168.0.125 #ip sur le réseau local du serveur
Un rédémarrage plus tard
sudo systemctl restart mariadb
notre serveur sql est ouvert à notre réseau local. Il ne reste plus qu’à créer un utilisateur accompagné de sa base de données afin de réaliser une tentative une connexion distante. Par la suite de commencer la migration de toutes mes bases de données disséminées sur mes containers.
CREATE DATABASE `mabase`;
GRANT ALL PRIVILEGES ON `mabase`.* TO "monlogin"@"%" identified by 'monpass';
FLUSH PRIVILEGES;
Ne pas oublier le "%"
sur la ligne "monlogin"@"%"
ce paramètre défini que l’utilisateur peut se connecter depuis n’importe où. On peut restreindre encore cet accès en spéficiant une adresse du réseau local à la place du "%"
.
Essai de connexion
Depuis une autre machine sur le réseau j’installe le client mariadb
sudo apt install mariadb-client
Je tente de me connecter avec l’utilisateur "monlogin"
.
mysql -u monlogin -h 192.168.0.125 -p

Bingo ! cela fonctione, en même temps je n’en doutais pas une minute :) .
Conclusion
Désormais je peux me connecter depuis n’importe quel serveur sur mon réseau local, et ainsi centraliser toutes mes bases de données sur un seul serveur sql, contrairement au temps où j’avais un serveur sql pour chaque bases.