Accès à distance au serveur
Dans certaines situations, vous pouvez avoir besoin d'accéder à votre serveur MariaDB à partir d'un autre ordinateur sur le réseau ou sur Internet.
Dans cette séance, nous allons apprendre à configurer MariaDB pour permettre les connexions distantes.
Notions théoriques
-
Configuration du serveur MariaDB :
Pour permettre les connexions distantes, nous devons modifier le fichier de configuration de MariaDB, généralement situé à
/etc/mysql/mariadb.conf.d/50-server.cnf
.Nous devons remplacer
bind-address = 127.0.0.1
parbind-address = 0.0.0.0
. -
Redémarrage du service MariaDB :
Après avoir modifié le fichier de configuration, nous devons redémarrer le service MariaDB
en utilisant la commande
sudo service mariadb restart
. -
Création d'un utilisateur distant :
Pour créer un utilisateur qui peut se connecter à partir d'un ordinateur distant, nous utilisons la commande
CREATE USER 'nom_utilisateur'@'adresse_ip' IDENTIFIED BY 'mot_de_passe';
,où
adresse_ip
est l'adresse IP de l'ordinateur distant. -
Donner des permissions à un utilisateur distant :
Pour donner des permissions à un utilisateur distant, nous utilisons la même commande que pour un utilisateur local, mais avec l'adresse IP de l'ordinateur distant :
GRANT type_de_permission ON nom_de_la_base.* TO 'nom_utilisateur'@'adresse_ip';
FLUSH PRIVILEGES;
Exemple pratique
Supposons que nous ayons un serveur MariaDB sur un ordinateur avec l'adresse IP 172.16.126.10
, et que nous voulions permettre à un ordinateur avec l'adresse IP 172.16.126.20
d'accéder à la base de données utilisateurs
.
# Modification du fichier de configuration de MariaDB
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
# Remplacer 'bind-address = 127.0.0.1' par 'bind-address = 0.0.0.0' et enregistrer le fichier
# Redémarrage du service MariaDB
sudo service mariadb restart
# ou
sudo systemctl restart mariadb
# Connexion à MariaDB
sudo mysql
# ou
mysql -u root -p
# Création de l'utilisateur 'admin' pouvant se connecter depuis '172.16.126.20'
CREATE USER 'admin'@'172.16.126.20' IDENTIFIED BY '1mot2Passe+QueTresSécurisé';
# Donner toutes les permissions à 'admin' sur la base de données 'utilisateurs'
GRANT ALL PRIVILEGES ON utilisateurs.* TO 'admin'@'172.16.126.20';
FLUSH PRIVILEGES;
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Objectif du TP : À la fin de ce TP, vous devriez être capable de configurer MariaDB pour permettre les connexions distantes, et de créer un utilisateur qui peut se connecter à partir d'un ordinateur distant.
Étapes du TP :
-
Modifiez le fichier de configuration de MariaDB pour permettre les connexions distantes.
-
Redémarrez le service MariaDB.
-
Connectez-vous à MariaDB en tant qu'utilisateur root.
-
Affichez et mémorisez l'adresse IP de votre poste client (sous Windows).
Par exemple :
172.16.126.30
-
Créez un nouvel utilisateur nommé
distant
qui peut se connecter à partir de l'adresse IP172.16.126.30
. -
Donnez à l'utilisateur
distant
toutes les permissions sur la base de donnéesecole
. -
Connectez-vous au serveur MariaDB avec un logiciel client tel que HeidiSQL ou Dbeaver, en utilisant l'utilisateur nommé
distant
.Pour télécharger les programmes d'installation : https://www.heidisql.com/ ou https://dbeaver.io/
Une solution
Vous devez être connecté pour voir le contenu.