đŹ 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