Tutorial

Comment installer MariaDB sur Ubuntu 18.04

Published on May 29, 2020
Français
Comment installer MariaDB sur Ubuntu 18.04

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.

La version courte de ce guide d’installation comprend ces trois étapes :

  • Mettez à jour l’index de votre paquet en utilisant apt
  • Installer le serveur paquet mariadb en utilisant apt. Le paquet comprend également des outils connexes pour interagir avec MariaDB
  • Lancez le script de sécurité 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 explique comment installer MariaDB sur un serveur Ubuntu 20.04 et vérifier qu’il fonctionne et a une configuration initiale sûre.

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

Au moment d’écrire ces lignes, les dépôts APT par défaut d’Ubuntu 20.04 comprennent la version MariaDB 10.3.

Pour l’installer, mettez à jour l’index des paquets sur votre serveur avec 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 ni d’effectuer d’autres changements de configuration. Comme la configuration par défaut ne permet pas de sécuriser votre installation de MariaDB, nous utiliserons un script que le le paquet mariadb-server fournit pour restreindre l’accès au serveur et supprimer les comptes inutilisés.

Étape 2 - Configurer 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ûres pour des choses comme les connexions root distantes et les sample users.

Exécutez le script de sécurité :

  1. sudo mysql_secure_installation

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

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, we'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):

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. Cela permettrait à une mise à jour de paquet de casser le système de base de données en supprimant l’accès au compte administratif. Tapez N et appuyez ensuite sur ENTER.

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, nous verrons comment créer 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 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 distantes 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 la sécurité initiale de MariaDB. L’étape suivante est facultative, mais vous devez la suivre si vous préférez vous authentifier sur 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 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. Cela permet une plus grande sécurité et facilité d’utilisation dans de nombreux cas, mais cela peut également compliquer les choses lorsque vous devez autoriser les droits d’administration d’un programme externe (par exemple, phpMyAdmin).

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. Changer les références dans le fichier de configuration /etc/mysql/debian.cnf peut fonctionner au départ, mais les mises à jour du paquet pourraient potentiellement écraser ces changements. Au lieu de modifier le compte root, les responsables du paquet recommandent de créer un compte administratif séparé pour l’accès par mot de passe.

Pour ce faire, 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 :

  1. 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 :

  1. 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 :

  1. FLUSH PRIVILEGES;

Ensuite, quittez le shell MariaDB :

  1. exit

Enfin, nous allons tester l’installation de MariaDB.

Étape 4 - Tester MariaDB

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

  1. sudo systemctl status mariadb

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

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.

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 demande de se connecter à MariaDB comme root en utilisant la socket Unix et de renvoyer la version :

  1. sudo mysqladmin version

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

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

Si vous avez configuré un utilisateur administratif séparé avec une authentification par mot de passe, vous pourriez effectuer la même opération en tapant :

  1. mysqladmin -u admin -p version

Cela signifie que MariaDB est opérationnel et que votre utilisateur est en mesure de s’authentifier avec succès.

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 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 suivre pour travailler avec le serveur :

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Manager, Developer Education

Technical Writer @ DigitalOcean



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel