*Une version précédente de ce tutoriel a été rédigée par Brian Boucheron.*

Introduction

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

Ce tutoriel de démarrage rapide décrit comment installer MariaDB sur un serveur Ubuntu 20.04 et le configurer avec une configuration initiale sûre. Il portera également sur la manière de créer un compte administratif supplémentaire pour l'accès par mot de passe.

Conditions préalables

mariadb illustration for: Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin d'un serveur fonctionnant sous Ubuntu 20.04. Ce serveur doit avoir un utilisateur administratif non root et un pare-feu configuré avec UFW. Configurez-le en suivant notre guide de configuration initiale de serveur pour Ubuntu 20.04.

Étape 1 - Installer MariaDB

Avant d'installer MariaDB, mettez à jour l'index des paquets sur votre serveur avec apt :

				
					
sudo apt update

				
			

Ensuite, installez le paquet :

				
					
sudo apt install mariadb-server

				
			

Lorsqu'il est installé à partir des dépôts par défaut, MariaDB se lancera automatiquement. Pour le tester, vérifiez son état.

				
					
sudo systemctl status mariadb

				
			

Vous obtiendrez un résultat similaire à celui qui suit :

				
					
[secondary_label Output]

● mariadb.service - MariaDB 10.3.22 database server

     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)

     Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago

       Docs: man:mysqld(8)

             https://mariadb.com/kb/en/library/systemd/

   Main PID: 25914 (mysqld)

     Status: "Taking your SQL requests now..."

      Tasks: 31 (limit: 2345)

     Memory: 65.6M

     CGroup: /system.slice/mariadb.service

             └─25914 /usr/sbin/mysqld

. . .

				
			

Si MariaDB ne fonctionne pas, vous pouvez le démarrer avec la commande sudo systemctl start mariadb.

Étape 2 - Configurer MariaDB

Exécutez le script de sécurité qui a été installé avec MariaDB. Vous serez alors guidé à travers une série d'invites où vous pourrez apporter quelques modifications aux options de sécurité de votre installation MariaDB :

				
					
sudo mysql_secure_installation

				
			

La première invite vous demandera de saisir le mot de passe actuel de l'utilisateur root de la base de données. Comme vous n'en avez pas encore créé un, appuyez sur ENTER pour indiquer « none ».

				
					
[secondary_label Output]

. . .

Enter current password for root (enter for none):

				
			

L'invite suivante vous demande si vous souhaitez créer un mot de passe pour l'utilisateur root de la base de données. Sur Ubuntu, le compte root (racine) MariaDB est étroitement lié à la maintenance du système automatisé, nous ne devrions donc pas modifier les méthodes d'authentification configurées pour ce compte. Tapez N et appuyez ensuite sur ENTER.

				
					
[secondary_label Output]

. . .



Set root password? [Y/n] <^>N<^>

				
			

À partir de là, vous pouvez appuyer sur Y puis sur ENTER 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, puis lancera ces nouvelles règles.

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

Sur les systèmes Ubuntu fonctionnant avec MariaDB 10.3, 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. Parce que le serveur utilise la root pour des tâches telles que la rotation du journal 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. Les responsables des paquets recommandent plutôt de créer un compte administratif séparé pour l'accès par mot de passe.

Pour cela, ouvrez l'invite MariaDB depuis votre terminal :

				
					
sudo mariadb

				
			

Créez ensuite un nouvel utilisateur avec des privilèges de root et un accès par mot de passe. Veillez à 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;

				
			

Purgez 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

				
			

Vous pouvez tester ce nouvel utilisateur avec l'outil mysqladmin, un client qui vous permet d'exécuter des commandes administratives. La commande mysqladmin suivante se connecte à MariaDB en tant qu'admin user et renvoie le numéro de version après avoir demandé le mot de passe de l'utilisateur :

				
					
mysqladmin -u <^>admin<^> -p version

				
			

Vous recevrez un résultat similaire à celui-ci :

				
					
[secondary_label Output]

mysqladmin  Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.



Server version		10.3.22-MariaDB-1ubuntu1

Protocol version	10

Connection		Localhost via UNIX socket

UNIX socket		/var/run/mysqld/mysqld.sock

Uptime:			4 min 49 sec



Threads: 7  Questions: 467  Slow queries: 0  Opens: 177  Flush tables: 1  Open tables: 31  Queries per second avg: 1.615

				
			

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 d'installation mysql_secure_installation fourni. Vous aviez également la possibilité de créer un nouvel utilisateur administratif qui utilise l'authentification par mot de passe.

Maintenant que vous disposez d'un serveur MariaDB opérationnel et sécurisé, voici quelques exemples des prochaines étapes que vous pouvez suivre pour travailler avec le serveur :