Dans cet article, nous allons apprendre à installer la base de données MariaDB sur un système Debian 12. Pour cet exemple, nous utiliserons un conteneur LXC sous Proxmox, ce qui permet une configuration légère et isolée adaptée aux environnements de test ou de production.
MariaDB est un système de gestion de bases de données relationnelles open-source qui est un fork de MySQL. Il est conçu pour être hautement performant et sécurisé, tout en restant compatible avec MySQL, ce qui permet une transition facile entre les deux. MariaDB est largement utilisé pour sa flexibilité, son support des nouvelles fonctionnalités, et sa forte communauté de développement, ce qui en fait un choix populaire pour les applications web et autres systèmes nécessitant une gestion robuste des données.
Prérequis :
- J’utilise un conteneur LXC Debian 12 configuré sous Proxmox, mais vous pouvez également utiliser un serveur Debian ou Ubuntu.
- Accès SSH au conteneur avec un utilisateur ayant les privilèges root ou un utilisateur sudo.
Étape 1 : Installation de MariaDB sur le conteneur LXC
1. Connexion au conteneur LXC
La première étape consiste à vous connecter à votre conteneur LXC via SSH. Pour ce faire, utilisez une commande SSH standard :
ssh user@adresse_IP
Dans notre exemple, la commande sera :
ssh oleks@192.168.0.240
Une fois connecté, entrez le mot de passe de l’utilisateur (dans mon cas, c’est oleks), ou le mot de passe root si vous êtes connecté directement en tant que root.
2. Mise à jour des paquets
Avant d’installer MariaDB, il est recommandé de mettre à jour tous les paquets existants sur le conteneur pour s’assurer que vous disposez des dernières versions et correctifs de sécurité :
sudo apt update && sudo apt upgrade -y
Cette commande mettra à jour la liste des paquets disponibles (apt update) et installera les mises à jour pour les paquets actuellement installés (apt upgrade -y).
3. Installation de MariaDB
Une fois les paquets mis à jour, l’étape suivante consiste à installer MariaDB sur votre conteneur Debian 12. Pour ce faire, exécutez la commande suivante :
sudo apt install mariadb-server -y
Cette commande installera le serveur MariaDB ainsi que toutes les dépendances nécessaires. L’option -y permet d’accepter automatiquement les invites de confirmation pendant l’installation.
4. Vérification du statut de MariaDB
Après l’installation, il est important de vérifier que le service MariaDB est en cours d’exécution correctement. Pour cela, utilisez la commande suivante :
sudo systemctl status mariadb
Cette commande affichera l’état actuel du service MariaDB. Vous devriez voir une indication que le service est actif et en cours d’exécution.
Si le service n’est pas démarré automatiquement, vous pouvez le démarrer manuellement avec la commande suivante :
sudo systemctl start mariadb
Pour vous assurer que MariaDB démarre automatiquement chaque fois que votre serveur est redémarré, vous devez activer le service au démarrage. Utilisez la commande suivante :
sudo systemctl enable mariadb
5. Sécurisation de MariaDB
Une fois MariaDB installé et configuré pour démarrer automatiquement, il est essentiel de sécuriser votre installation. MariaDB fournit un script de sécurisation qui vous guide à travers plusieurs étapes pour renforcer la sécurité de votre base de données. Exécutez ce script avec la commande suivante :
sudo mysql_secure_installation
Le script vous posera une série de questions pour configurer MariaDB de manière plus sécurisée. Voici comment y répondre :
Définir le mot de passe root : Lorsque vous y êtes invité, définissez un mot de passe sécurisé pour l’utilisateur root. Dans cet exemple, j’ai choisi le mot de passe Pass123! à des fins de démonstration. Cependant, il est crucial de toujours utiliser un mot de passe plus sécurisé dans un environnement de production!
Supprimer les utilisateurs anonymes : Tapez Y (pour “oui”) pour supprimer les utilisateurs anonymes, ce qui empêche quiconque de se connecter à MariaDB sans compte.
Désactiver la connexion root à distance : Tapez Y pour désactiver la possibilité de se connecter en tant que root depuis une machine distante. Cela renforce la sécurité en limitant l’accès root à la machine locale uniquement.
Supprimer la base de données de test : Tapez Y pour supprimer la base de données de test, qui n’est pas nécessaire dans un environnement de production.
Recharger les privilèges : Tapez Y pour recharger les tables de privilèges, ce qui applique toutes les modifications que vous avez effectuées immédiatement.
6. Création d’un utilisateur MariaDB
Après avoir sécurisé votre installation MariaDB, l’étape suivante consiste à créer un utilisateur pour gérer les bases de données. Pour ce faire, suivez les étapes ci-dessous :
Connexion à MariaDB en tant que root :
Tout d’abord, connectez-vous à MariaDB en tant qu’utilisateur root en utilisant la commande suivante :
mysql -u root -p
Création d’un utilisateur de base de données :
Une fois connecté, vous pouvez créer un nouvel utilisateur. Par exemple, pour créer un utilisateur nommé oleks avec le mot de passe Pass123!, exécutez la commande suivante :
CREATE USER 'oleks'@'%' IDENTIFIED BY 'Pass123!';
Cette commande crée l’utilisateur oleks qui pourra se connecter depuis n’importe quelle adresse (‘%’ signifie toutes les adresses IP).
Attribution des privilèges à l’utilisateur :
Accordez à l’utilisateur oleks tous les privilèges nécessaires pour gérer toutes les bases de données :
GRANT ALL PRIVILEGES ON *.* TO 'oleks'@'%';
Cette commande donne à l’utilisateur oleks un accès complet à toutes les bases de données sur le serveur MariaDB.
Application des modifications :
Pour que les changements prennent effet immédiatement, exécutez la commande suivante :
FLUSH PRIVILEGES;
Quitter MariaDB :
Une fois terminé, vous pouvez quitter l’interface de MariaDB en tapant :
EXIT;
7. Configuration de MariaDB pour autoriser les connexions distantes
Cette procédure est à effectuer uniquement si vous avez besoin d’un accès à distance à votre base de données. Pour permettre à des utilisateurs de se connecter à MariaDB depuis d’autres machines sur le réseau, vous devez configurer le serveur pour accepter les connexions distantes. Voici comment procéder :
Édition du fichier de configuration de MariaDB :
Ouvrez le fichier de configuration de MariaDB en utilisant un éditeur de texte, comme nano :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Dans le fichier de configuration, trouvez la ligne suivante :
bind-address = 127.0.0.1
Cette ligne indique que MariaDB n’accepte que les connexions provenant de l’adresse IP locale (127.0.0.1). Remplacez 127.0.0.1 par 0.0.0.0 pour permettre à MariaDB d’accepter les connexions depuis n’importe quelle adresse IP :
bind-address = 0.0.0.0
Alternativement, vous pouvez spécifier une adresse IP précise à partir de laquelle MariaDB acceptera les connexions en remplaçant 127.0.0.1 par l’adresse IP de votre choix.
Cette modification permet à MariaDB d’écouter sur toutes les interfaces réseau, rendant ainsi le serveur accessible depuis d’autres machines sur le réseau.
Enregistrez et fermez le fichier (Ctrl + O, puis Enter pour enregistrer, Ctrl + X pour quitter).
8. Redémarrage de MariaDB :
Redémarrez MariaDB pour appliquer les changements :
sudo systemctl restart mariadb
Voilà, vous avez maintenant installé MariaDB sur Debian 12, créé un utilisateur avec un mot de passe, et configuré le serveur pour autoriser les connexions distantes. Cela vous donne une base solide pour gérer vos bases de données depuis n’importe quel point du réseau.
Dans le prochain article, nous verrons comment se connecter à MariaDB en utilisant Squirrel SQL, un client SQL graphique qui simplifie l’interaction avec vos bases de données.
Bonne chance !