Comment installer MariaDB sur Ubuntu 22.04

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 utilisant apt. 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
  1. sudo apt update
  2. sudo apt install mariadb-server
  3. sudo mysql_secure_installation

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

É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:

  1. sudo apt update

Ensuite, installez le paquet :

  1. sudo apt install mariadb-server

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é :

  1. sudo mysql_secure_installation

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 ».

Output
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.

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 :

  1. sudo mariadb

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 :

  1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Flushez les privilèges pour vous assurer qu’ils sont enregistrés et disponibles dans la session en cours :

  1. FLUSH PRIVILEGES;

Suite à cela, quittez le shell MariaDB :

  1. exit

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.

  1. sudo systemctl status mariadb

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 :

  1. sudo mysqladmin version

Vous recevrez une sortie similaire à cela :

Output
mysqladmin 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