introduction
MariaDB est un système de gestion de base de données open source, généralement installé à la place de MySQL dans le cadre du célèbre https://www.digitalocean.com/community/tutorials/how-to-install -linux-apache-mariadb-php-lamp-stack-debian9 [LAMP] (pile Linux, Apache, MySQL, PHP / Python / Perl). Il utilise une base de données relationnelle et SQL (Structured Query Language) pour gérer ses données. MariaDB a été dérivé de MySQL en 2009 en raison de problèmes de licence.
La version courte de l’installation est simple: mettez à jour votre index de paquet, installez le paquet + mariadb-server +
(qui pointe vers MariaDB), puis exécutez le script de sécurité inclus.
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation
Ce didacticiel explique comment installer MariaDB version 10.1 sur un serveur Debian 9.
Conditions préalables
Pour suivre ce tutoriel, vous aurez besoin de:
-
Un serveur Debian 9 a été configuré comme suit: Privilèges
+ sudo +
et un pare-feu.
Étape 1 - Installation de MariaDB
Dans Debian 9, MariaDB version 10.1 est incluse par défaut dans les référentiels de paquets APT. Elle est marquée comme variante MySQL par défaut par l’équipe d’emballage de Debian MySQL / MariaDB.
Pour l’installer, mettez à jour l’index du paquet sur votre serveur avec + apt +
:
sudo apt update
Puis installez le paquet:
sudo apt install mariadb-server
Cela installera MariaDB, mais ne vous invitera pas à définir un mot de passe ou à apporter d’autres modifications de configuration. Parce que cela laisse votre installation de MariaDB non sécurisée, nous en parlerons ensuite.
Étape 2 - Configuration de MariaDB
Pour les nouvelles installations, vous voudrez exécuter le script de sécurité inclus. Cela modifie certaines des options par défaut moins sécurisées, telles que les connexions * root * distantes et les exemples d’utilisateurs.
Exécutez le script de sécurité:
sudo mysql_secure_installation
Cela vous mènera à travers une série d’invites dans lesquelles vous pourrez apporter des modifications aux options de sécurité de votre installation MariaDB. La première invite vous demandera de saisir la base de données actuelle * racine * mot de passe. Puisque nous n’en avons pas encore configuré, appuyez sur + ENTER +
pour indiquer «aucun».
L’invite suivante vous demande si vous souhaitez configurer une base de données * root *. Tapez + A +
puis appuyez sur + ENTER
. Dans Debian, le compte * root * de MariaDB est étroitement lié à la maintenance automatisée du système. Par conséquent, nous ne devrions 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. Ensuite, nous verrons comment configurer éventuellement un compte administratif supplémentaire pour l’accès par mot de passe si l’authentification de socket n’est pas appropriée à 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 test, désactivera les connexions * root * distantes et chargera ces nouvelles règles afin que MariaDB respecte immédiatement les modifications que vous avez apportées.
Étape 3 - (Facultatif) Réglage de l’authentification et des privilèges de l’utilisateur
Dans les systèmes Debian 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 que d’un mot de passe. Cela permet une sécurité et une convivialité accrues dans de nombreux cas, mais peut également compliquer les choses lorsque vous devez autoriser des droits administratifs sur un programme externe (par exemple, phpMyAdmin).
É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 *. La modification des informations d’identification du compte dans le répertoire + / etc / mysql / debian.cnf +
peut fonctionner initialement, mais les mises à jour de paquetages peuvent potentiellement remplacer ces modifications. Au lieu de modifier le compte * root *, les responsables de package recommandent de créer un compte administratif séparé si vous devez configurer un accès par mot de passe.
Pour ce faire, nous allons créer un nouveau compte appelé + admin +
avec les mêmes fonctionnalités que le compte * root *, mais configuré pour l’authentification par mot de passe. Pour ce faire, ouvrez l’invite MariaDB à partir de votre terminal:
sudo mysql
Nous pouvons maintenant créer un nouvel utilisateur avec les privilèges * root * et un accès basé sur un mot de passe. Changez le nom d’utilisateur et le mot de passe pour qu’ils correspondent à vos préférences:
GRANT ALL ON *.* TO ''@'localhost' IDENTIFIED BY '' 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, testons l’installation de MariaDB.
Étape 4 - Test de MariaDB
Lorsqu’il est installé à partir des référentiels par défaut, MariaDB doit commencer à s’exécuter automatiquement. Pour tester cela, vérifiez son statut.
sudo systemctl status mariadb
Vous verrez une sortie semblable à celle-ci:
Sortie
● mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: since Tue 2018-09-04 16:22:47 UTC; 2h 35min ago
Process: 15596 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSIT
Process: 15594 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Process: 15478 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||
Process: 15474 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITI
Process: 15471 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysql
Main PID: 15567 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 27 (limit: 4915)
CGroup: /system.slice/mariadb.service
└─15567 /usr/sbin/mysqld
Sep 04 16:22:45 deb-mysql1 systemd[1]: Starting MariaDB database server...
Sep 04 16:22:46 deb-mysql1 mysqld[15567]: 2018-09-04 16:22:46 140183374869056 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 15567 ...
Sep 04 16:22:47 deb-mysql1 systemd[1]:
Si MariaDB n’est pas lancé, vous pouvez le lancer avec + sudo systemctl start mariadb +
.
Pour une vérification supplémentaire, vous pouvez essayer de vous connecter à la base de données à l’aide de l’outil + mysqladmin +
, qui est un client qui vous permet d’exécuter des commandes administratives. Par exemple, cette commande dit de se connecter à MariaDB en tant que * root * et de renvoyer la version à l’aide du socket Unix:
sudo mysqladmin version
Vous devriez voir une sortie semblable à ceci:
Outputmysqladmin Ver 9.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Server version 10.1.26-MariaDB-0+deb9u1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 2 hours 44 min 46 sec
Threads: 1 Questions: 36 Slow queries: 0 Opens: 21 Flush tables: 1 Open tables: 15 Queries per second avg: 0.003
Si vous avez configuré un utilisateur administratif distinct avec une authentification par mot de passe, vous pouvez effectuer la même opération en tapant:
mysqladmin -u -p version
Cela signifie que MariaDB est opérationnel et que votre utilisateur est capable de s’authentifier avec succès.
Conclusion
Vous avez maintenant une configuration de base de MariaDB installée sur votre serveur. Voici quelques exemples des prochaines étapes à suivre: