← Retour au portail
🐬 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 :
  1. Mot de passe root : répondez Y et saisissez un mot de passe fort.
  2. Supprimer les utilisateurs anonymes : répondez Y.
  3. Désactiver la connexion root à distance : répondez Y.
  4. Supprimer la base de test : répondez Y.
  5. 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