Comment installer MariaDB sur Debian 10

introduction

MariaDB est un système de gestion de base de données open source, couramment utilisé comme alternative à la partie MySQL de la célèbre https://www.digitalocean.com/community/tutorials/how-to- installer-linux-apache-mariadb-php-lamp-stack-debian10 [LAMP] (Linux, Apache, MySQL, PHP / Python / Perl). Il s’agit d’un remplacement immédiat de MySQL. Debian n’est plus livrée qu’avec les paquets MariaDB. Si vous essayez d’installer des paquets liés au serveur MySQL, vous recevrez à la place les versions de remplacement MariaDB compatibles.

La version abrégée de ce guide d’installation comprend les trois étapes suivantes:

  • Mettez à jour votre index de paquets en utilisant + apt +

  • Installez le paquet mariadb-server en utilisant` + apt`. Le package intègre également des outils associés pour interagir avec MariaDB

  • Exécutez le script de sécurité + mysql_secure_installation + inclus 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 version 10.3 sur un serveur Debian 10 et vérifiera son exécution et sa configuration initiale sécurisée.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de:

Étape 1 - Installation de MariaDB

Dans Debian 10, MariaDB version 10.3 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

Ces commandes installeront MariaDB, mais ne vous inviteront pas à définir un mot de passe ou à apporter d’autres modifications de configuration. Comme la configuration par défaut laisse votre installation de MariaDB non sécurisée, nous allons utiliser un script fourni par le paquet mariadb-server + pour restreindre l’accès au serveur et supprimer les comptes inutilisés.

Étape 2 - Configuration de 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 moins sécurisées. Nous allons l’utiliser pour bloquer les connexions * root * distantes et supprimer les utilisateurs de base de données inutilisés.

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.3, 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 dans le fichier de configuration + / etc / mysql / debian.cnf + peut fonctionner initialement, mais les mises à jour de paquetages risquent de remplacer ces modifications. Au lieu de modifier le compte * root *, les responsables de package recommandent de créer un compte administratif distinct pour l’accès basé sur un 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 allons 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:

MariaDB [(none)]> 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:

MariaDB [(none)]> FLUSH PRIVILEGES;

Ensuite, quittez le shell MariaDB:

MariaDB [(none)]> 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 recevrez une sortie semblable à celle-ci:

Sortie

● mariadb.service - MariaDB 10.3.15 database server
  Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Active:  since Fri 2019-07-12 20:35:29 UTC; 47min ago
    Docs: man:mysqld(8)
          https://mariadb.com/kb/en/library/systemd/
Main PID: 2036 (mysqld)
  Status: "Taking your SQL requests now..."
   Tasks: 30 (limit: 2378)
  Memory: 76.1M
  CGroup: /system.slice/mariadb.service
          └─2036 /usr/sbin/mysqld

Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Phase 6/7: Checking and upgrading tables
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Running 'mysqlcheck' with connection arguments: --socket='/var/run/mysqld/mysqld.sock' --host='localhost' --socket='/var/run/mysqld/mysqld.sock' --host='localhost' --socket='/var/run/mysqld/mysqld.sock'
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: # Connecting to localhost...
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: # Disconnecting from localhost...
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Processing databases
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: information_schema
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: performance_schema
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Jul 12 20:35:29 deb-mariadb1 /etc/mysql/debian-start[2074]:
Jul 12 20:35:30 deb-mariadb1 /etc/mysql/debian-start[2132]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Si MariaDB n’est pas lancé, vous pouvez le lancer avec la commande + 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 recevoir une sortie semblable à ceci:

Outputmysqladmin  Ver 9.1 Distrib 10.3.15-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version      10.3.15-MariaDB-1
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         48 min 14 sec

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

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

Dans ce guide, vous avez installé MariaDB pour agir en tant que serveur SQL. Pendant le processus d’installation, vous avez également sécurisé le serveur. Si vous le souhaitez, vous avez également créé un utilisateur distinct pour garantir l’accès administratif à MariaDB lors des mises à jour de packages.

Maintenant que vous avez un serveur MariaDB actif et sécurisé, voici quelques exemples d’étapes suivantes que vous pouvez suivre pour utiliser le serveur:

Vous pouvez également incorporer MariaDB dans une pile d’applications plus grande: