Introduction
MariaDB est un système de gestion de base de données relationnelle open source, couramment utilisé en alternative à MySQL comme partie base de données du populaire ensemble LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Il est destiné à être un remplacement direct de MySQL.
La version abrégée de ce guide d’installation se compose de ces trois étapes :
- Mettre à jour votre index de paquets en utilisant
apt
- Installer le paquet
mariadb-server
en utilisantapt
. Le paquet inclut également des outils associés pour interagir avec MariaDB - Exécuter le script de sécurité inclus
mysql_secure_installation
pour restreindre l’accès au serveur
Ce tutoriel expliquera comment installer MariaDB sur un serveur Ubuntu 22.04 et vérifier qu’il fonctionne et possède une configuration initiale sécurisée.
Prérequis
- Pour suivre ce tutoriel, vous aurez besoin d’un serveur exécutant Ubuntu 22.04. Ce serveur devrait avoir un utilisateur administratif non-root et un pare-feu configuré avec UFW. Configurez cela en suivant notre guide d’installation initiale du serveur pour Ubuntu 22.04.
Étape 1 — Installation de MariaDB
Au moment de la rédaction de cet article, les dépôts APT par défaut d’Ubuntu 22.04 incluent la version 10.5.12 de MariaDB.
Pour l’installer, mettez à jour l’index des paquets sur votre serveur avec la commande apt
:
Ensuite, installez le paquet :
Ces commandes installeront MariaDB, mais ne vous demanderont pas de définir un mot de passe ou de faire d’autres modifications de configuration. Étant donné que la configuration par défaut laisse votre installation de MariaDB non sécurisée, vous utiliserez un script fourni par le paquet mariadb-server
pour restreindre l’accès au serveur et supprimer les comptes inutilisé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é :
Cela vous guidera à travers une série de invites où vous pourrez apporter des modifications aux options de sécurité de votre installation MariaDB. La première invite vous demandera d’entrer le mot de passe actuel de la base de données root. Comme vous n’en avez pas encore défini, appuyez sur ENTRÉE
pour indiquer « aucun ».
OutputNOTE: 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
.
Output. . .
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] n
La prochaine invite vous demande si vous souhaitez définir un mot de passe pour la base de données root. Sur Ubuntu, le compte root pour MariaDB est étroitement lié à la maintenance système automatisée, donc vous ne devez pas modifier les méthodes d’authentification configurées pour ce compte.
Le faire rendrait possible qu’une mise à jour du package casse le système de base de données en supprimant l’accès au compte administratif. Tapez n
puis appuyez sur ENTRÉE
.
Output. . .
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] n
Plus tard, vous verrez comment configurer un compte administratif supplémentaire pour un 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 O
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 à distance en tant que root, et chargera ces nouvelles règles afin que MariaDB implémente immédiatement les modifications que vous avez apportées.
Avec cela, vous avez terminé la configuration de sécurité initiale de MariaDB. La prochaine étape est facultative, mais vous devriez la suivre si vous préférez vous authentifier sur votre serveur MariaDB avec un mot de passe.
Étape 3 — (Optionnel) Création d’un utilisateur administratif utilisant l’authentification par mot de passe
Sur les systèmes Ubuntu exécutant MariaDB 10.5, l’utilisateur MariaDB root est configuré pour s’authentifier en utilisant le plugin unix_socket
par défaut plutôt qu’avec un mot de passe. Cela offre une sécurité et une facilité d’utilisation accrues dans de nombreux cas, mais peut également compliquer les choses lorsque vous devez autoriser un programme externe (par exemple, phpMyAdmin) à disposer de droits administratifs.
Étant donné que 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 détails d’authentification du compte root. Modifier les informations d’identification dans le fichier de configuration /etc/mysql/debian.cnf
peut fonctionner initialement, mais les mises à jour des packages pourraient éventuellement écraser ces modifications. Au lieu de modifier le compte root, les mainteneurs de paquets recommandent de créer un compte administratif distinct pour l’accès basé sur un mot de passe.
À cette fin, nous créerons un nouveau compte appelé admin avec les mêmes capacités que le compte root, mais configuré pour une authentification par mot de passe. Ouvrez l’invite MariaDB depuis votre terminal :
Ensuite, créez un nouvel utilisateur avec des privilèges root et un accès basé sur un mot de passe. Assurez-vous de modifier le nom d’utilisateur et le mot de passe selon vos préférences :
Flushez les privilèges pour vous assurer qu’ils sont enregistrés et disponibles dans la session en cours :
Suite à cela, quittez le shell MariaDB :
Enfin, 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 le tester, vérifiez son état.
Vous recevrez une sortie similaire à ce qui suit :
Output● mariadb.service - MariaDB 10.5.12 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 n’est pas en cours d’exécution, 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 vous 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 :
Vous recevrez une sortie similaire à cela :
Outputmysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.5.12-MariaDB-1build1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /run/mysqld/mysqld.sock
Uptime: 15 min 53 sec
Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505
Conclusion
Dans ce guide, vous avez installé le système de gestion de base de données relationnelle MariaDB et l’avez sécurisé à l’aide du script mysql_secure_installation
fourni avec son installation. Vous aviez également la possibilité de créer un nouvel utilisateur administratif utilisant l’authentification par mot de passe avant de tester la fonctionnalité du serveur MariaDB.
Maintenant que vous disposez d’un serveur MariaDB opérationnel et sécurisé, voici quelques exemples des prochaines étapes que vous pouvez entreprendre pour travailler avec le serveur :
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-22-04