Comment installer MariaDB sur Debian 11
Vous n'utilisez pas Debian 11 ?Choisissez une autre version ou distribution.
Introduction
MariaDB est un système de gestion de base de données relationnelle open-source, couramment utilisé comme alternative à MySQL pour la partie base de données du populaire stack LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Il est conçu pour être un remplacement direct pour MySQL.
La version courte de ce guide d'installation consiste en ces trois étapes :
- Mettez à jour votre index de paquets en utilisant
apt - Installez le paquet
mariadb-serveren utilisantapt. Le paquet inclut également des outils associés pour interagir avec MariaDB. - Exécutez le script de sécurité inclus
mysql_secure_installationpour restreindre l'accès au serveur
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installationCe tutoriel expliquera comment installer MariaDB sur un serveur Debian 11 et vérifier qu'il fonctionne et dispose d'une configuration initiale sûre.
Prérequis
- Pour suivre ce tutoriel, vous aurez besoin d'un serveur exécutant Debian 11. Ce serveur devrait avoir un utilisateur administratif non root et un pare-feu configuré avec UFW. Configurez cela en suivant notre guide de configuration initiale du serveur pour Debian 11.
Étape 1 — Installer MariaDB
Au moment de la rédaction, les dépôts logiciels par défaut de Debian 11 incluent MariaDB version 10.5.15. Il est marqué comme la variante MySQL par défaut par l'équipe de packaging MySQL/MariaDB de Debian.
Pour l'installer, mettez à jour l'index des paquets sur votre serveur avec apt :
sudo apt updatePuis installez le paquet :
sudo apt install mariadb-serverCes commandes installeront MariaDB, mais ne vous inviteront pas à définir un mot de passe ni à effectuer d'autres modifications de configuration. Comme la configuration par défaut laisse votre installation de MariaDB non sécurisée, vous utiliserez un script que le paquet mariadb-server fournit pour restreindre l'accès au serveur et supprimer les comptes non utilisés.
Étape 2 — Configuration de MariaDB
Pour les nouvelles installations de MariaDB, l'étape suivante consiste à exécuter le script de sécurité inclus. Ce script modifie certaines des options par défaut moins sécurisées pour des éléments tels que les connexions root à distance et les utilisateurs d'exemple.
Exécutez le script de sécurité :
sudo mysql_secure_installationCela vous guidera à travers une série d'invites où vous pourrez apporter quelques modifications aux options de sécurité de votre installation MariaDB. La première invite vous demandera de saisir le mot de passe root actuel de la base de données. Comme vous n'en avez pas encore configuré, appuyez sur ENTRÉE pour indiquer « aucun ».
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, you'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):On vous demandera si vous souhaitez passer à l'authentification par socket Unix. Comme vous avez déjà un compte root protégé, vous pouvez passer cette étape. Tapez n puis appuyez sur ENTRÉE.
. . .
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] nL'invite suivante vous demande si vous souhaitez changer le mot de passe root. Sur Debian 11, le compte root pour MariaDB est étroitement lié à la maintenance automatisée du système, il ne faut donc pas modifier les méthodes d'authentification configurées pour ce compte.
Cela permettrait à une mise à jour du paquet de casser le système de base de données en supprimant l'accès au compte administrateur. Tapez n puis appuyez sur ENTER.
Change the root password? [Y/n]Plus tard, vous apprendrez comment configurer un compte administratif supplémentaire pour l'accès par mot de passe si l'authentification par socket n'est pas appropriée pour votre cas d'utilisation.
À partir de là, vous pouvez appuyer sur Y puis sur ENTRÉE pour accepter les valeurs par défaut pour toutes les questions suivantes. Cela supprimera certains utilisateurs anonymes et la base de données de test, désactivera les connexions root à distance et chargera ces nouvelles règles afin que MariaDB applique immédiatement les modifications que vous avez effectuées.
Avec cela, vous avez terminé la configuration initiale de la sécurité de MariaDB. L'étape suivante est optionnelle, bien que vous devriez la suivre si vous préférez vous authentifier à votre serveur MariaDB avec un mot de passe.
Étape 3 — (Facultatif) Création d'un utilisateur administrateur utilisant l'authentification par mot de passe
Sur les systèmes Debian exécutant MariaDB 10.5, l'utilisateur root de MariaDB est configuré pour s'authentifier en utilisant le plugin unix_socket par défaut plutôt qu'avec un mot de passe. Cela permet d'obtenir une sécurité et une facilité d'utilisation accrues dans de nombreux cas, mais cela peut également compliquer les choses lorsque vous devez accorder à un programme externe (par exemple, phpMyAdmin) des droits administratifs.
Comme le serveur utilise le compte root pour des tâches telles que la rotation des journaux et le démarrage et l'arrêt du serveur, il est préférable de ne pas modifier les informations d'authentification du compte root. Modifier les identifiants dans le fichier de configuration /etc/mysql/debian.cnf peut fonctionner au début, mais les mises à jour des paquets pourraient potentiellement écraser ces modifications. Au lieu de modifier le compte root, les mainteneurs du paquet recommandent de créer un compte administratif séparé pour l'accès par mot de passe.
À cette fin, nous allons créer un nouveau compte appelé admin avec les mêmes capacités que le compte root, mais configuré pour l'authentification par mot de passe. Ouvrez l'invite MariaDB depuis votre terminal :
sudo mariadbEnsuite, créez un nouvel utilisateur avec des privilèges root et un accès par mot de passe. Assurez-vous de changer le nom d'utilisateur et le mot de passe pour correspondre à vos préférences :
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;Videz les privilèges pour vous assurer qu'ils sont enregistrés et disponibles dans la session en cours :
FLUSH PRIVILEGES;Ensuite, quittez le shell MariaDB :
exitEnfin, testons l'installation de MariaDB.
Étape 4 — Test de MariaDB
Lorsqu'il est installé à partir des dépôts par défaut, MariaDB démarrera automatiquement. Pour vérifier cela, contrôlez son statut.
sudo systemctl status mariadb
Vous recevrez un résultat similaire à ce qui suit :
● mariadb.service - MariaDB 10.5.15 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
. . .Si MariaDB ne fonctionne pas, vous pouvez le démarrer avec la commande sudo systemctl start mariadb.
Pour une vérification supplémentaire, vous pouvez essayer de vous connecter à la base de données en utilisant l'outil mysqladmin, qui est un client permettant d'exécuter des commandes administratives. Par exemple, cette commande indique de se connecter à MariaDB en tant que root en utilisant le socket Unix et de retourner la version :
sudo mysqladmin versionVous recevrez une sortie similaire à ceci :
mysqladmin Ver 9.1 Distrib 10.5.15-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.5.15-MariaDB-0+deb11u1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /run/mysqld/mysqld.sock
Uptime: 4 min 20 sec
Threads: 1 Questions: 72 Slow queries: 0 Opens: 32 Open tables: 25 Queries per second avg: 0.276Conclusion
Dans ce guide, vous avez installé le système de gestion de base de données relationnelle MariaDB et l'avez sécurisé en utilisant le script mysql_secure_installation fourni lors de l'installation. Vous avez également eu la possibilité de créer un nouvel utilisateur administratif utilisant l'authentification par mot de passe avant de tester le fonctionnement du serveur MariaDB.
Maintenant que vous avez un serveur MariaDB opérationnel et sécurisé, voici quelques exemples d'étapes suivantes que vous pouvez suivre pour travailler avec le serveur :
- Apprenez à importer et exporter des bases de données
- Pratiquez l'exécution de requêtes SQL
- Intégrer MariaDB dans une pile d'applications plus grande
