🐬 TUTORIEL PAS À PAS
🐘 MariaDB sur Debian 13 – Installation, sécurisation et commandes de base
📅 Mis à jour : Août 2026
⏱️ Durée : 25 min
📋 Niveau : Débutant
🐧 Debian 13
🐬 MariaDB
🗄️ Base de données
MariaDB est un système de gestion de bases de données relationnelles, issu du célèbre MySQL. Il est utilisé par des milliers d’applications (WordPress, GLPI, Nextcloud, etc.) et constitue un pilier de l’administration système. Ce tutoriel vous guide pas à pas dans l’installation, la sécurisation et la prise en main de MariaDB sur Debian 13.
📖 Pourquoi MariaDB ?
- Gratuit et open source : licence GPL, communauté active.
- Performant : optimisé pour les applications web et les gros volumes de données.
- Compatible MySQL : les commandes et les outils sont identiques.
- Sécurisé : chiffrement des données, authentification renforcée.
📌 Prérequis :
- Un serveur Debian 13 avec un accès root ou un utilisateur
sudo.
- Une connexion Internet pour télécharger les paquets.
- Des connaissances de base de la ligne de commande sont recommandées.
1 Installation de MariaDB
1.1 – Mise à jour du système
Avant toute installation, mettez à jour la liste des paquets et le système.
$ sudo apt update && sudo apt upgrade -y
✅ Système à jour.
1.2 – Installation du serveur MariaDB
Installez le serveur MariaDB avec ses dépendances.
$ sudo apt install mariadb-server mariadb-client -y
Les paquets installés :
- mariadb-server : le serveur de base de données.
- mariadb-client : les outils en ligne de commande (
mysql).
✅ MariaDB installé.
1.3 – Vérifier le service MariaDB
Le service mariadb doit être actif et démarré automatiquement au boot.
$ sudo systemctl status mariadb
Si ce n’est pas le cas, démarrez-le :
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
✅ MariaDB est en cours d’exécution.
2 Sécurisation de l’installation
2.1 – Exécuter le script de sécurisation
MariaDB fournit un script interactif qui permet de :
- Définir le mot de passe root (c’est l’administrateur de la base).
- Supprimer les utilisateurs anonymes (sans nom).
- Désactiver l’accès root à distance (sécurité).
- Supprimer la base de données de test (inutile en production).
$ sudo mysql_secure_installation
Suivez les instructions :
- Mot de passe root : répondez Y et saisissez un mot de passe fort.
- Supprimer les utilisateurs anonymes : répondez Y.
- Désactiver la connexion root à distance : répondez Y.
- Supprimer la base de test : répondez Y.
- Recharger les privilèges : répondez Y.
✅ Installation sécurisée.
⚠️ Sécurité : Le mot de passe root est la clé de voûte de votre serveur. Utilisez un mot de passe d’au moins 16 caractères, avec des majuscules, minuscules, chiffres et caractères spéciaux.
3 Connexion à MariaDB
3.1 – Se connecter en tant que root
Utilisez la commande mysql avec l’option -u (utilisateur) et -p (mot de passe).
$ sudo mysql -u root -p
Saisissez le mot de passe root que vous avez défini lors de la sécurisation.
✅ Vous êtes connecté à l’invite MariaDB (MariaDB [(none)]>).
3.2 – Voir la version de MariaDB
Une fois connecté, vous pouvez afficher la version du serveur.
MariaDB [(none)]> SELECT VERSION();
✅ Affichage de la version (ex: 10.11.8-MariaDB-1).
3.3 – Quitter l’invite MariaDB
MariaDB [(none)]> EXIT;
✅ Retour au shell Linux.
4 Commandes de base de MariaDB
Voici les commandes essentielles pour administrer vos bases de données. Toutes les commandes se terminent par un point-virgule ;.
4.1 – Gestion des bases de données
Afficher les bases existantes
MariaDB [(none)]> SHOW DATABASES;
✅ Liste des bases (ex: information_schema, mysql, performance_schema).
Créer une base de données
MariaDB [(none)]> CREATE DATABASE exemple_db;
✅ Base exemple_db créée.
Sélectionner une base de données
MariaDB [(none)]> USE exemple_db;
✅ Base sélectionnée. L’invite devient MariaDB [exemple_db]>.
Supprimer une base de données
MariaDB [(none)]> DROP DATABASE exemple_db;
⚠️ Attention : Cette action est irréversible ! Toutes les données de la base seront perdues.
✅ Base supprimée.
4.2 – Gestion des tables
Créer une table
Exemple : une table utilisateurs avec les colonnes id, nom, email et date_inscription.
MariaDB [exemple_db]> CREATE TABLE utilisateurs (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
email VARCHAR(150) UNIQUE NOT NULL,
date_inscription DATETIME DEFAULT CURRENT_TIMESTAMP
);
✅ Table utilisateurs créée.
Afficher les tables d’une base
MariaDB [exemple_db]> SHOW TABLES;
✅ Liste des tables.
Décrire la structure d’une table
MariaDB [exemple_db]> DESCRIBE utilisateurs;
✅ Colonnes, types, clés, etc.
Supprimer une table
MariaDB [exemple_db]> DROP TABLE utilisateurs;
✅ Table supprimée.
4.3 – Gestion des données (CRUD)
Insertion de données (INSERT)
MariaDB [exemple_db]> INSERT INTO utilisateurs (nom, email)
VALUES ('Dupont', 'dupont@example.com'), ('Martin', 'martin@example.com');
✅ 2 lignes insérées.
Lecture des données (SELECT)
MariaDB [exemple_db]> SELECT * FROM utilisateurs;
✅ Affichage de toutes les lignes.
Avec une condition :
MariaDB [exemple_db]> SELECT nom, email FROM utilisateurs WHERE nom = 'Dupont';
Mise à jour des données (UPDATE)
MariaDB [exemple_db]> UPDATE utilisateurs SET email = 'dupont.new@example.com' WHERE id = 1;
✅ 1 ligne mise à jour.
Suppression de données (DELETE)
MariaDB [exemple_db]> DELETE FROM utilisateurs WHERE id = 2;
✅ 1 ligne supprimée.
4.4 – Gestion des utilisateurs et des privilèges
Créer un utilisateur
MariaDB [(none)]> CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'MotDePasseFort123!';
✅ Utilisateur app_user créé.
Accorder des droits à un utilisateur
Donnez tous les droits sur la base exemple_db à l’utilisateur app_user.
MariaDB [(none)]> GRANT ALL PRIVILEGES ON exemple_db.* TO 'app_user'@'localhost';
✅ Droits accordés.
Recharger les privilèges
MariaDB [(none)]> FLUSH PRIVILEGES;
✅ Privilèges rechargés.
Afficher les droits d’un utilisateur
MariaDB [(none)]> SHOW GRANTS FOR 'app_user'@'localhost';
✅ Liste des droits.
Supprimer un utilisateur
MariaDB [(none)]> DROP USER 'app_user'@'localhost';
✅ Utilisateur supprimé.
5 Conseils et bonnes pratiques
1. Sauvegarder régulièrement
Utilisez mysqldump pour exporter vos bases :
$ mysqldump -u root -p exemple_db > /backup/exemple_db_$(date +%Y%m%d).sql
Pour restaurer :
$ mysql -u root -p exemple_db < /backup/exemple_db_20260814.sql
2. Changer le mot de passe root
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NouveauMotDePasse';
3. Activer les logs des requêtes lentes
Pour identifier les requêtes à optimiser, configurez le fichier /etc/mysql/mariadb.conf.d/50-server.cnf :
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 2
Puis redémarrez MariaDB :
$ sudo systemctl restart mariadb
4. Utiliser des utilisateurs dédiés
N’utilisez jamais root pour vos applications. Créez toujours un utilisateur avec les droits minimaux nécessaires.
✅ Test de validation
🎉 Installation réussie si :
- Le service
mariadb est actif (systemctl status mariadb).
- Vous pouvez vous connecter avec
sudo mysql -u root -p.
- Vous avez créé une base, une table, et inséré des données.
- Le script
mysql_secure_installation a été exécuté sans erreur.
📚 Ressources complémentaires
BTS SIO – Lycée NDLP Avranches – Tutoriel MariaDB v1.0