Red Hat et dérivées version SERVEUR

Red Hat, Alma Linux : Installer et configurer un serveur de base de données MariaDB (8 et 9)

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

logo-mariadb



Introduction



Dans cet article, nous allons voir comment mettre en place un serveur de base de données MariaDB sur RedHat Enterprise Linux 8 ou 9 (la procédure est identique.
Les manipulations proposées sont valides pour les dérivées de RHEL telles qu'Alma Linux, Rocky Linux ou Oracle Linux.

Sélection de la version souhaitée via les modules



Dans EL 8, par défaut, MariaDB est proposé en version 10.3
Dans EL 9, par défaut, MariaDB est proposé en version 10.5

Il est possible, sur EL 8 d'utiliser MariaDB 10.5.

Pour EL 8 :

Listez les modules MariaDB disponibles :

Code BASH :
dnf module list mariadb


Code TEXT :
Name            Stream          Profiles                          Summary              
mariadb         10.3 [d]        client, galera, server [d]        MariaDB Module       
mariadb         10.5            client, galera, server [d]        MariaDB Module       
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled


Désactivez le module 10.3 :

Code BASH :
dnf module disable mariadb:10.3


Activez le module 10.5 :

Code BASH :
dnf module enable mariadb:10.5



Installation des prérequis



On va installer les 2 paquets qui vont nour fournir le serveur de base de données et les clients en ligne de commande :

Code BASH :
dnf install mariadb-server mariadb


Configuration des services



Il reste maintenant à activer et démarrer le service mariadb :

Code BASH :
systemctl enable --now mariadb.service


Initialisation du moteur de base de données



On initialise le moteur de base de données :

Code BASH :
mysql_secure_installation


Sur les versions récentes de MariaDB (10.5) il est proposé d'utiliser le unix_socket. On répondra non pour utiliser des utilisateurs MariaDB et non Linux :

Code TEXT :
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
 
You already have your root account protected, so you can safely answer 'n'.
 
Switch to unix_socket authentication [Y/n] n


On va pouvoir ainsi définir le mot de passe root (qui est différent du root du système) :

Code TEXT :
Enter current password for root (enter for none): 
OK, successfully used password, moving on...
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Password updated successfully!



On siupprime les utilisateurs anonymes par sécurité :

Code TEXT :
Remove anonymous users? [Y/n] 
 ... Success!


On désactive la connexion à distance en tant que root :

Code BASH :
Disallow root login remotely? [Y/n] 
 ... Success!


On supprime les bases de test :

Code TEXT :
Remove test database and access to it? [Y/n] 
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!


Si et seulement si vous devez accéder à MariaDB depuis une autre machine; on autorise dans le pare-feu le protocole mysql (port 3306) (ici si la zone de l'interface est public) et on recharge ce dernier :

Code BASH :
firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --reload


Fichiers de configuration



Fichier de configuration my.cnf



Le fichier de configuration de MariaDB est /etc/my.cnf et certaines sections sont présentes dans /etc/my.cnf.d/

Plus d'informations sur MySQL



Plus d'informations sur la configuration de MariaDB ici : https://www.linuxtricks.fr/wiki/mysql-configuration-et-securisation
Un guide des commandes de base est disponible ici : https://www.linuxtricks.fr/wiki/sql-guide-des-commandes-de-base