Installer MariaDB sur Debian
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
sudo apt update
sudo apt install mariadb-server
sudo systemctl status mariadbLe 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
sudo mariadb-secure-installationmysql_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 :
sudo ss -ltnp | grep 3306Le 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
sudo mariadbCREATE 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 :
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 :
sudo systemctl restart mariadb
sudo journalctl -u mariadb -n 50 --no-pagerLes 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
- Apache ou Nginx : que choisir ?Comparer Apache et Nginx sur l'architecture, .htaccess, PHP-FPM et les critères de choix concrets.
- Sauvegarder et restaurer une base MySQL/MariaDBProduire un dump cohérent, le restaurer dans une base de test et l'automatiser avec une copie hors site.
- Héberger plusieurs sites avec NginxServir plusieurs domaines sur un seul VPS avec des blocs server distincts, des racines séparées et un rechargement contrôlé.