MariaDB est un système de gestion de base de données open-source, couramment utilisé comme alternative à la partie MySQL du 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 :
apt
mariadb
en utilisant apt
. Le paquet comprend également des outils connexes pour interagir avec MariaDBmysql_secure_installation
pour restreindre l’accès au serveur- sudo apt update
- sudo apt install mariadb-server
- sudo mysql_secure_installation
Ce tutoriel expliquera comment installer MariaDB sur un serveur Ubuntu 18.04, et vérifier qu’il fonctionne et a une configuration initiale sûre.
Pour suivre ce tutoriel, vous aurez besoin de :
sudo
et un pare-feu.Sur Ubuntu 18.04, la version 10.1 de MariaDB est incluse par défaut dans les dépôts de paquets APT.
Pour l’installer, mettez à jour l’index des paquets sur votre serveur avec apt
:
- sudo apt update
Ensuite, installez le paquet :
- 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.
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. Nous l’utiliserons pour bloquer les connexions root distantes et pour supprimer les utilisateurs de base de données inutilisés.
Exécutez le script de sécurité :
- 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 nous n’en avons pas encore mis un en place, appuyez sur ENTER
(ENTRÉE) pour indiquer « aucun ».
L’invite suivante vous demande si vous souhaitez créer un mot de passe pour l’utilisateur root de la base de données. Tapez N
et appuyez ensuite sur ENTER
(ENTRÉE). 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. Plus tard, nous verrons comment créer éventuellement un compte administratif supplémentaire pour l’accès au 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
(ENTRÉE) afin d’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.
Sur les systèmes Ubuntu exécutant MariaDB 10.1, l’utilisateur root MariaDB est configuré pour s’authentifier à l’aide du 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. Pour ce faire, ouvrez l’invite MariaDB depuis votre terminal :
- sudo mysql
Maintenant, nous allons créer un nouvel utilisateur avec des privilèges de root (racine) et un accès par mot de passe. Modifiez 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
Enfin, nous allons tester l’installation de MariaDB.
Lorsqu’il est installé à partir des dépôts par défaut, MariaDB devrait commencer à fonctionner automatiquement. Pour le tester, vérifiez son état.
- sudo systemctl status mariadb
Vous obtiendrez un résultat similaire à celui qui suit :
Output● mariadb.service - MariaDB 10.1.44 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-03-25 16:51:16 UTC; 8min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 22559 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 27 (limit: 1152)
CGroup: /system.slice/mariadb.service
└─22559 /usr/sbin/mysqld
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: mysql
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 6/7: Checking and upgrading tables
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Processing databases
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: information_schema
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: OK
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22658]: Checking for insecure root accounts.
Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22663]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
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 invite à se connecter à MariaDB comme root et renvoyer la version en utilisant la socket Unix :
- sudo mysqladmin version
Vous devriez recevoir un résultat qui ressemble à ça :
Outputmysqladmin Ver 9.1 Distrib 10.1.44-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.1.44-MariaDB-0ubuntu0.18.04.1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 10 min 9 sec
Threads: 1 Questions: 445 Slow queries: 0 Opens: 167 Flush tables: 1 Open tables: 30 Queries per second avg: 0.730
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 :
- 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.
Dans ce guide, vous avez installé MariaDB pour servir de serveur SQL. Pendant le processus d’installation, vous avez également sécurisé le serveur. En option, vous avez également créé un utilisateur administratif distinct autorisé 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 :
Vous pouvez également intégrer MariaDB dans une pile d’applications plus importante :
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
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!