Installer MariaDB sur Debian

2 min de lecture07 novembre 2026

MariaDB est le serveur SQL fourni par Debian et convient à la plupart des applications web. L'installation est rapide ; les erreurs viennent ensuite de l'exposition du port, d'un compte trop privilégié ou d'un mot de passe placé dans un fichier lisible par tous. Cette procédure couvre l'installation, le durcissement de base et la création d'une base applicative.

Installer le serveur

Bash
sudo apt update
sudo apt install mariadb-server
sudo systemctl status mariadb

Le paquet crée le service mariadb, le socket /run/mysqld/mysqld.sock et un compte root Unix. Debian 13 fournit une version maintenue ; inutile d'ajouter un dépôt tiers pour un usage standard. Vérifiez la version avec mariadb --version.

Durcir l'installation

Bash
sudo mariadb-secure-installation

mysql_secure_installation reste un alias, mais les noms mariadb-* sont cohérents. Répondez aux questions : passer root en unix_socket (ou définir un mot de passe si vous en avez besoin), supprimer les comptes anonymes, interdire la connexion root distante, supprimer la base test, recharger les privilèges.

MariaDB écoute par défaut sur 127.0.0.1. Confirmez-le :

Bash
sudo ss -ltnp | grep 3306

Le fichier /etc/mysql/mariadb.conf.d/50-server.cnf contient bind-address = 127.0.0.1. Ne le remplacez pas par 0.0.0.0 pour joindre la base depuis votre poste : ouvrez plutôt un tunnel SSH. Un port 3306 exposé est scanné en quelques minutes.

Créer une base et un utilisateur

Bash
sudo mariadb
SQL
CREATE DATABASE app CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'app'@'localhost' IDENTIFIED BY 'mot-de-passe-fort';
GRANT ALL PRIVILEGES ON app.* TO 'app'@'localhost';
EXIT;

utf8mb4 couvre les emojis et les caractères hors BMP. L'utilisateur applicatif ne dispose de droits que sur app ; ne réutilisez pas root dans le code. Si l'application se connecte à 127.0.0.1 et non au socket, l'hôte du compte doit être 'app'@'127.0.0.1' ou correspondre à la résolution du nom.

Testez sans exposer le mot de passe dans l'historique :

Bash
mariadb -u app -p app -e "SELECT 1;"

Vérifier et dépanner

Après un changement de configuration, redémarrez puis lisez le journal :

Bash
sudo systemctl restart mariadb
sudo journalctl -u mariadb -n 50 --no-pager

Les erreurs classiques sont Access denied (mauvais hôte ou mot de passe), Can't connect through socket (service arrêté ou mauvais chemin) et un disque plein. Sauvegardez avant toute modification de privilèges : un GRANT mal placé peut ouvrir toute la base. Pour les connexions distantes, préférez un tunnel SSH à l'ouverture du port.

Publicité

Cet article vous a-t-il aidé ?

À lire aussi