Comment installer MariaDB sur Debian 11

De Get Docs
Aller à :navigation, rechercher

Introduction

MariaDB est un système de gestion de base de données relationnelle open source, couramment utilisé comme alternative à MySQL en tant que partie base de données du populaire LAMP (Linux, Apache, MySQL, PHP/Python /Perl). Il est destiné à remplacer MySQL.

La version courte de ce guide d'installation se compose de ces trois étapes :

  • Mettez à jour votre index de package à l'aide de apt
  • Installez le mariadb-server paquet utilisant apt. Le package utilise également des outils associés pour interagir avec MariaDB
  • Exécutez le inclus mysql_secure_installation script de sécurité pour restreindre l'accès au serveur
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation

Ce tutoriel explique comment installer MariaDB sur un serveur Debian 11 et vérifier qu'il est en cours d'exécution et qu'il a une configuration initiale sûre.

Conditions préalables

Étape 1 - Installation de MariaDB

Au moment d'écrire ces lignes, les référentiels de 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 Debian MySQL/MariaDB.

Pour l'installer, mettez à jour l'index des packages sur votre serveur avec apt:

sudo apt update

Installez ensuite le package :

sudo apt install mariadb-server

Ces commandes installeront MariaDB, mais ne vous inviteront pas à définir un mot de passe ni à apporter d'autres modifications à la configuration. Étant donné que la configuration par défaut laisse votre installation de MariaDB non sécurisée, vous utiliserez un script que le mariadb-server fournit 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 les moins sécurisées pour des éléments tels que les connexions distantes root et les exemples d'utilisateurs.

Exécutez le script de sécurité :

sudo mysql_secure_installation

Cela vous guidera à travers une série d'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 configuré, appuyez sur ENTER 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):

Il vous sera demandé si vous souhaitez passer à l'authentification par socket Unix. Puisque vous avez déjà un compte root protégé, vous pouvez ignorer cette étape. Taper n puis appuyez sur ENTER.

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

L'invite suivante vous demande si vous souhaitez modifier le mot de passe root. Sur Debian 11, le compte root pour MariaDB est étroitement lié à la maintenance automatisée du système, vous ne devez donc pas modifier les méthodes d'authentification configurées pour ce compte.

Cela permettrait à une mise à jour de package de casser le système de base de données en supprimant l'accès au compte administratif. Taper n puis appuyez sur ENTER.

OutputChange the root password? [Y/n]

Plus tard, vous expliquerez 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.

De là, vous pouvez appuyer sur Y et alors ENTER 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 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 devez la suivre si vous préférez vous authentifier auprès de votre serveur MariaDB avec un mot de passe.

Étape 3 - (Facultatif) Création d'un utilisateur administratif qui utilise l'authentification par mot de passe

Sur les systèmes Debian exécutant MariaDB 10.5, l'utilisateur root MariaDB est configuré pour s'authentifier à l'aide de la unix_socket plugin par défaut plutôt qu'avec un mot de passe. Cela permet une sécurité et une convivialité accrues dans de nombreux cas, mais cela peut également compliquer les choses lorsque vous devez autoriser un programme externe (par exemple, phpMyAdmin) à disposer de droits d'administration.

É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. Modification des informations d'identification dans le /etc/mysql/debian.cnf Le fichier de configuration peut fonctionner initialement, mais les mises à jour de packages peuvent potentiellement écraser ces modifications. Au lieu de modifier le compte root, les responsables du paquet recommandent de créer un compte administratif séparé pour un accès basé sur un 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 mariadb

Créez ensuite un nouvel utilisateur avec les 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 en fonction de 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 :

exit

Enfin, testons l'installation de MariaDB.

Étape 4 - Tester MariaDB

Lorsqu'il est installé à partir des référentiels par défaut, MariaDB commencera à s'exécuter automatiquement. Pour le tester, vérifiez son état.

sudo systemctl status mariadb

Vous recevrez une sortie semblable à celle-ci :

Output● 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 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 le mysqladmin tool, qui est un client qui vous permet d'exécuter des commandes d'administration. Par exemple, cette commande indique de se connecter à MariaDB en tant que root en utilisant le socket Unix et de renvoyer la version :

sudo mysqladmin version

Vous recevrez une sortie similaire à celle-ci :

Outputmysqladmin  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.276

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 mysql_secure_installation script avec lequel il est installé. Vous aviez également la possibilité de créer un nouvel utilisateur administratif qui utilise l'authentification par mot de passe avant de tester la fonctionnalité du serveur MariaDB.

Maintenant que vous avez un serveur MariaDB en cours d'exécution et sécurisé, voici quelques exemples d'étapes suivantes que vous pouvez suivre pour travailler avec le serveur :