MariaDB sur Linux : définition, installation (Ubuntu/CentOS/Debian) et configuration sécurisée

目次

1. Qu’est‑ce que MariaDB ?

Aperçu et fonctionnalités clés de MariaDB

MariaDB est un système de gestion de bases de données relationnelles (SGBDR) open‑source. Il est développé à partir de MySQL et est largement adopté dans de nombreux systèmes et applications grâce à sa grande compatibilité.

À l’origine, après l’acquisition de MySQL par Oracle, certains de ses développeurs ont quitté le projet et ont lancé MariaDB. En conséquence, MariaDB conserve un jeu de commandes et des structures de données similaires à MySQL tout en mettant l’accent sur l’ouverture et la transparence de sa conception.

MariaDB est gratuit et prend en charge un large éventail d’utilisations, tant commerciales que non commerciales. En particulier, il possède un solide historique dans les environnements de serveurs Linux et est très apprécié pour sa stabilité, ses performances et sa sécurité.

Différences avec MySQL

MariaDB et MySQL sont très similaires, et de nombreuses commandes et fichiers de configuration peuvent être utilisés tels quels. Cependant, il existe plusieurs différences importantes.

  • Différences de licence Parce que MySQL est développé et géré par Oracle, des restrictions de licence peuvent s’appliquer dans certains scénarios d’utilisation commerciale. MariaDB, en revanche, repose sur la GPL (GNU General Public License), permettant une utilisation plus flexible.
  • Vitesse de développement et approche communautaire MariaDB est développé activement de manière communautaire et tend à introduire de nouvelles fonctionnalités plus rapidement. Il est particulièrement fort sur les fonctionnalités orientées entreprise (telles que les options de moteurs de stockage et les optimisations de performances).
  • Extensibilité et compatibilité MariaDB maintient une haute compatibilité avec MySQL tout en offrant ses propres moteurs de stockage (comme Aria et ColumnStore), permettant des opérations flexibles selon votre cas d’usage. Cependant, à mesure que les versions évoluent, des différences de compatibilité peuvent apparaître, il faut donc faire preuve de prudence lors de la migration.

Avantages de choisir MariaDB

Lors du déploiement d’une base de données dans un environnement Linux, MariaDB offre les avantages suivants :

  • Installation facile avec une configuration simple
  • Légèreté et performances rapides
  • Scalabilité capable de gérer le traitement de données à grande échelle
  • Fonctionnement stable sur le long terme
  • Ressources de connaissances et de support étendues provenant de développeurs du monde entier

Pour ces raisons, MariaDB est choisi pour une grande variété d’environnements, des configurations de développement personnel aux systèmes de production d’entreprise.

2. Préparation avant l’installation

Avant d’installer MariaDB dans un environnement Linux, plusieurs points doivent être vérifiés et des étapes de préparation doivent être effectuées. Ignorer cette étape peut entraîner des problèmes ultérieurs, il est donc très important de se préparer à l’avance.

Vérifier les exigences système

MariaDB est une base de données légère et rapide, mais elle possède tout de même des exigences système minimales. Voici des exigences générales (elles varient selon la version et l’usage) :

  • OS : distributions Linux telles qu’Ubuntu, Debian, CentOS et RHEL
  • CPU : 1 GHz ou plus (multi‑cœur recommandé)
  • Mémoire : 512 Mo ou plus (1 Go ou plus recommandé)
  • Stockage : 1 Go ou plus d’espace libre (à ajuster selon le volume de données)
  • Réseau : connexion Internet requise pour récupérer les paquets et appliquer les mises à jour

Notez que sur les anciennes distributions Linux, les dernières versions de MariaDB peuvent ne pas être prises en charge. Vérifiez votre version de Linux et, si nécessaire, ajoutez des dépôts ou effectuez d’autres actions en conséquence.

Vérifier et mettre à jour les paquets requis

Pour installer MariaDB, vous utilisez généralement le gestionnaire de paquets standard du système d’exploitation (tel que APT ou YUM). Mettre à jour votre système au préalable aide à éviter les problèmes de dépendances.

Voici un exemple pour Ubuntu/Debian :

sudo apt update
sudo apt upgrade -y

Sur CentOS/RHEL, exécutez :

sudo yum update -y

De plus, vérifiez que les paquets suivants sont installés (installez‑les s’ils sont manquants) :

  • curl : utilisé lors de l’ajout du dépôt MariaDB
  • gnupg : utilisé pour vérifier les clés de signature
  • software-properties-common (principalement pour Ubuntu) : requis pour gérer les PPA. Pas toujours nécessaire sous Debian.

Envisagez d’utiliser le dépôt officiel de MariaDB

Dans de nombreuses distributions Linux, MariaDB est inclus dans les dépôts de paquets par défaut, mais la version fournie peut être ancienne.

Si vous souhaitez toujours utiliser la dernière version stable, vous pouvez ajouter le dépôt officiel de MariaDB. La section suivante présente les étapes spécifiques à chaque OS, mais décider à l’avance de la version que vous utiliserez facilitera l’installation.

3. Étapes d’installation par grande distribution

MariaDB est disponible sur de nombreuses distributions Linux, mais les méthodes d’installation diffèrent légèrement. Dans cette section, nous parcourrons les étapes d’installation détaillées pour trois distributions représentatives : Ubuntu, CentOS et Debian.

Installation de MariaDB sur Ubuntu

Sur Ubuntu, vous installez MariaDB à l’aide du gestionnaire de paquets APT. Cette section cible Ubuntu 20.04 / 22.04 LTS.

1. Mettre à jour la liste des paquets

sudo apt update

2. Installer MariaDB

sudo apt install mariadb-server -y

Cette commande installe automatiquement MariaDB ainsi que les paquets de dépendances requis.

3. Démarrer et activer le service

sudo systemctl start mariadb
sudo systemctl enable mariadb

4. Vérifier qu’il fonctionne

sudo systemctl status mariadb

Si vous voyez « active (running) », il a démarré avec succès.

Installation de MariaDB sur CentOS

Sur CentOS 7 et CentOS Stream 8, vous utilisez YUM ou dnf. Comme les dépôts par défaut fournissent souvent des versions plus anciennes, il est courant d’ajouter le dépôt officiel.

1. Ajouter le dépôt officiel (exemple : MariaDB 10.6)

sudo vi /etc/yum.repos.d/MariaDB.repo

Collez ce qui suit et enregistrez :

[mariadb]
name = MariaDB
baseurl = https://downloads.mariadb.com/MariaDB/mariadb-10.6/yum/centos7-amd64
gpgkey=https://downloads.mariadb.com/MariaDB/MariaDB-Server-GPG-KEY
gpgcheck=1

*Ajustez la version et les paramètres d’OS selon votre environnement.

2. Installer les paquets

sudo yum install mariadb-server -y

Ou sur CentOS Stream 8 et versions ultérieures :

sudo dnf install mariadb-server -y

3. Démarrer et activer le service

sudo systemctl start mariadb
sudo systemctl enable mariadb

Installation de MariaDB sur Debian

Debian utilise également APT, mais en utilisant le dépôt officiel de MariaDB au lieu des dépôts par défaut, vous pouvez installer la dernière version stable.

1. Installer les paquets de dépendance

sudo apt install curl software-properties-common gnupg -y

2. Ajouter le dépôt MariaDB (exemple : Debian 11 « Bullseye »)

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

3. Installer

sudo apt update
sudo apt install mariadb-server -y

4. Démarrer et activer le service

sudo systemctl start mariadb
sudo systemctl enable mariadb

4. Configuration du jeu de caractères

L’un des points les plus importants lors de l’utilisation de MariaDB dans un environnement japonais est la configuration du jeu de caractères (encodage). Parce que le japonais comprend des caractères multioctets, démarrer l’exploitation avec des paramètres incorrects peut entraîner des problèmes tels que du texte illisible ou une corruption de données.

Jeu de caractères recommandé pour les environnements japonais : UTF‑8

Pour MariaDB, le jeu de caractères recommandé est utf8mb4. Il est plus performant que le legacy utf8 et prend en charge les caractères sur 4 octets comme les emojis, ce qui le rend adapté non seulement au japonais mais aussi aux environnements multilingues.

Dans les paramètres par défaut de la famille MySQL, vous pouvez voir latin1 ou utf8, et les laisser tels quels peut poser problème. Par conséquent, modifiez le paramètre en utf8mb4 immédiatement après l’installation.

Comment modifier le fichier de configuration (my.cnf)

Le fichier de configuration de MariaDB se trouve généralement à /etc/mysql/my.cnf ou /etc/my.cnf. Ajoutez ou modifiez les sections [client] et [mysqld] comme indiqué ci-dessous.

[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

Après avoir modifié les paramètres, redémarrez MariaDB pour les appliquer :

sudo systemctl restart mariadb

Vérifiez que les Paramètres Ont Été Appliqués

Connectez-vous à MariaDB et confirmez que les paramètres ont été appliqués.

sudo mariadb

Après connexion, exécutez la commande suivante :

SHOW VARIABLES LIKE 'character\_set%';

Exemple de sortie attendue :

character_set_client    utf8mb4
character_set_connection utf8mb4
character_set_database   utf8mb4
character_set_results    utf8mb4
character_set_server     utf8mb4

Si cela ressemble à ceci, la configuration de l’ensemble de caractères a été appliquée correctement.

Note : Ensembles de Caractères pour les Données Existantes

Si vous avez déjà des bases de données ou des tables existantes, leurs ensembles de caractères ne changeront pas automatiquement. Si nécessaire, vous devez les changer individuellement avec une instruction ALTER comme celle-ci :

ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

De même, vous pouvez changer les paramètres au niveau de la table ou de la colonne.

5. Configuration de Sécurité

Immédiatement après l’installation de MariaDB, la sécurité n’est pas entièrement renforcée. En appliquant des paramètres de sécurité essentiels minimum avant l’utilisation en production, vous pouvez réduire le risque d’accès non autorisé et de fuites de données. Cette section présente les étapes de base pour la configuration de sécurité de MariaDB.

Exécutez mysql_secure_installation

MariaDB fournit un script de renforcement de sécurité que vous devriez exécuter immédiatement après l’installation : mysql_secure_installation.

Exécutez-le avec la commande suivante :

sudo mysql_secure_installation

Lorsque vous l’exécutez, plusieurs questions s’afficheront en séquence. Voici ce que signifie chaque option.

  1. Définir (ou mettre à jour) le mot de passe root → Définissez un mot de passe pour l’utilisateur administrateur MariaDB « root ». Utilisez un mot de passe fort.
  2. Supprimer les utilisateurs anonymes → Par défaut, un utilisateur « anonyme » peut exister. Cela est inutile et risqué, donc la suppression est recommandée .
  3. Interdire la connexion root à distance → Autoriser l’accès root directement depuis des réseaux externes est extrêmement dangereux. Dans la plupart des cas, configurez cela pour interdire .
  4. Supprimer la base de données test → La base de données « test » créée pour les tests est également inutile dans de nombreux cas. La suppression est recommandée .
  5. Recharger les tables de privilèges → Cela applique les changements ci-dessus immédiatement. Confirmez avec « Yes » .

Répondre à toutes ces questions renforce considérablement la sécurité de MariaDB dans son état initial par défaut.

Configuration du Pare-feu (Si Nécessaire)

MariaDB communique généralement sur le port 3306. Que vous devriez ouvrir ce port dépend de la façon dont vous prévoyez d’utiliser le système.

  • Lors de l’utilisation locale ou sur un serveur autonome → Vous pouvez garder le port 3306 fermé.
  • Lors de l’autorisation d’accès externe (par ex., connexion depuis une application sur un autre serveur) → Ouvrez l’accès uniquement pour les adresses IP requises.

Exemple : Limitation de l’accès avec UFW sur Ubuntu

sudo ufw allow from 192.168.0.10 to any port 3306

Créer un Utilisateur Autre Que root (Recommandé)

En production, il est de la meilleure pratique de créer et d’utiliser un compte utilisateur dédié plutôt que l’utilisateur administrateur « root ». Voici un exemple :

CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;

Utiliser des utilisateurs séparés par application aide à minimiser l’impact en cas de compromission des identifiants.

6. Vérification

Après l’installation de MariaDB, la complétion de la configuration initiale et l’application des mesures de sécurité, l’étape finale est de vérifier que tout fonctionne correctement. Cette section explique comment confirmer la connectivité et exécuter des commandes SQL de base.

Se Connecter à MariaDB

Après l’installation, vérifiez que vous pouvez vous connecter à MariaDB avec la commande suivante :

sudo mariadb

Ou, si vous souhaitez spécifier l’utilisateur et fournir un mot de passe :

mariadb -u root -p

Lorsqu’on vous le demande, saisissez le mot de passe que vous avez défini avec mysql_secure_installation.

Si la connexion réussit, vous verrez une invite similaire à la suivante :

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.6.16-MariaDB MariaDB Server

Si vous voyez cela, MariaDB fonctionne normalement et vous pouvez vous connecter avec succès.

Créer une base de données

Ensuite, comme test simple, créez une base de données.

CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Si elle s’exécute avec succès, la base de données a été créée sans problème.

Vérifiez la liste des bases de données que vous possédez :

SHOW DATABASES;

Si testdb apparaît, cela a fonctionné.

Créer une table et insérer des données

Créez une table de test et insérez quelques données.

USE testdb;

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  email VARCHAR(100)
);

INSERT INTO users (name, email) VALUES ('田中太郎', 'taro-tanaka@example.com');

※Cet exemple vérifie que le texte multioctet (japonais) est stocké correctement en utilisant utf8mb4.

Récupérer les données

Pour confirmer les données insérées, exécutez la requête suivante.

SELECT * FROM users;

Si la sortie montre les informations pour Taro Tanaka, vous pouvez conclure que la base de données fonctionne correctement.

Vérifier les informations du serveur

Si vous souhaitez vérifier des informations de base comme la version de MariaDB, exécutez la commande suivante :

STATUS;

Cela affiche des détails tels que l’état de la connexion, la version du serveur et la configuration du jeu de caractères.

7. FAQ (Foire aux questions)

Lors de l’installation et de l’exploitation de MariaDB dans un environnement Linux, de nombreuses personnes rencontrent des questions ou des problèmes courants. Savoir comment les gérer à l’avance peut rassurer. Ici, nous avons résumé les points les plus recherchés sous forme de FAQ pour les débutants à intermédiaires.

Q1. Comment vérifier la version de MariaDB ?

Après vous être connecté à MariaDB, vous pouvez vérifier la version en exécutant la commande suivante.

SELECT VERSION();

Ou, vous pouvez vérifier directement depuis la ligne de commande comme ceci :

mariadb --version

Exemple de sortie :

mariadb  Ver 15.1 Distrib 10.6.16-MariaDB, for Linux (x86_64)

Q2. Que faire si je vois « Package not found » pendant l’installation ?

Vérifiez ce qui suit :

  • La liste des paquets n’est pas à jour → Exécutez sudo apt update ou sudo yum update , puis réessayez
  • Le dépôt officiel de MariaDB n’a pas été ajouté correctement → Vérifiez les fichiers de configuration du dépôt (comme /etc/apt/sources.list.d/ ou /etc/yum.repos.d/ )
  • Votre distribution et la version de MariaDB ne sont pas compatibles → Revérifiez les versions prises en charge sur la page de téléchargement officielle de MariaDB

Q3. Comment désinstaller MariaDB ?

Pour Ubuntu/Debian :

sudo apt remove --purge mariadb-server mariadb-client -y
sudo apt autoremove -y

Pour CentOS/RHEL :

sudo yum remove mariadb-server -y

Après cela, si vous souhaitez également supprimer les données et les fichiers de configuration, exécutez :

sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf /etc/mysql

*Si vous avez des données importantes, assurez-vous de les sauvegarder avant de tout supprimer.

Q4. Comment sauvegarder et restaurer une base de données ?

Sauvegarde (créer un fichier dump) :

mysqldump -u root -p your_database > backup.sql

Restauration :

mysql -u root -p your_database < backup.sql

Cette méthode est simple et courante, et très utile pour les migrations MariaDB et la récupération après sinistre.

Q5. Pourquoi ne puis-je pas me connecter à MariaDB depuis l’extérieur du serveur ?

  • bind-address est réglé sur 127.0.0.1 → Dans /etc/mysql/my.cnf ou /etc/my.cnf , changez‑le en bind-address = 0.0.0.0 (faites attention à la sécurité)
  • Le port 3306 est bloqué par le pare‑feu → Ouvrez le port avec quelque chose comme sudo ufw allow 3306
  • L’utilisateur n’est pas autorisé pour les connexions à distance → Vous devez créer un utilisateur sous la forme user@'%'