Comment installer MariaDB sur Debian 9

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: