Comment installer MySQL sur Rocky Linux 9

De Get Docs
Aller à :navigation, rechercher

Introduction

MySQL est un système de gestion de base de données open source, couramment installé dans le cadre de la pile populaire LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Il implémente le modèle relationnel et le Structured Query Language (SQL) pour gérer et interroger les données.

Ce tutoriel explique comment installer MySQL version 8 sur un serveur Rocky Linux 9.

Conditions préalables

Pour terminer ce didacticiel, vous aurez besoin d'un serveur exécutant Rocky Linux 9. Ce serveur doit avoir un utilisateur non root avec des privilèges administratifs et un pare-feu configuré avec firewalld. Pour le configurer, consultez notre Guide de configuration initiale du serveur pour Rocky Linux 9.

Étape 1 - Installation de MySQL

Sur Rocky Linux 9, MySQL version 8 est disponible à partir des référentiels par défaut.

Exécutez la commande suivante pour installer le mysql-server package et un certain nombre de ses dépendances :

sudo dnf install mysql-server

Lorsque vous y êtes invité, appuyez sur y et alors ENTER pour confirmer que vous voulez continuer :

Output. . .
Install  49 Packages

Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]: y

Avec cela, MySQL est installé sur votre serveur mais il n'est pas encore opérationnel. Le package que vous venez d'installer configure MySQL pour qu'il s'exécute en tant que systemd service nommé mysqld.service. Pour utiliser MySQL, vous devrez le démarrer avec le systemctl commande:

sudo systemctl start mysqld.service

Pour vérifier que le service fonctionne correctement, exécutez la commande suivante. Notez que pour beaucoup systemctl commandes — y compris start et, comme indiqué ici, status - vous n'avez pas besoin d'inclure .service après le nom du service :

sudo systemctl status mysqld

Si MySQL a été démarré avec succès, la sortie indiquera que le service MySQL est actif :

Output● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago
 Main PID: 15723 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 5056)
   Memory: 474.2M
   CGroup: /system.slice/mysqld.service
           └─15723 /usr/libexec/mysqld --basedir=/usr

Mar 12 14:07:32 rocky9-mysql systemd[1]: Starting MySQL 8.0 database server...
Mar 12 14:07:32 rocky9-mysql mysql-prepare-db-dir[15639]: Initializing MySQL database
Mar 12 14:07:41 rocky9-mysql systemd[1]: Started MySQL 8.0 database server.

Ensuite, configurez MySQL pour qu'il démarre à chaque démarrage du serveur avec la commande suivante :

sudo systemctl enable mysqld

Remarque : Si vous souhaitez modifier ce comportement et empêcher MySQL de démarrer au démarrage, vous pouvez le faire en exécutant :

sudo systemctl disable mysqld

MySQL est maintenant installé, en cours d'exécution et activé sur votre serveur. Ensuite, nous verrons comment renforcer la sécurité de votre base de données à l'aide d'un script shell préinstallé avec votre instance MySQL.

Étape 2 - Sécuriser MySQL

MySQL inclut un script de sécurité qui vous permet de modifier certaines options de configuration par défaut afin d'améliorer la sécurité de MySQL.

Pour utiliser le script de sécurité, exécutez la commande suivante :

sudo mysql_secure_installation

Cela vous guidera à travers une série d'invites vous demandant si vous souhaitez apporter certaines modifications aux options de sécurité de votre installation MySQL. La première invite vous demandera si vous souhaitez configurer le plugin Validate Password, que vous pouvez utiliser pour tester la force de votre mot de passe MySQL.

Si vous choisissez de configurer le plugin Validate Password, le script vous demandera de choisir un niveau de validation de mot de passe. Le niveau le plus fort — que vous sélectionnez en saisissant 2 — exigera que votre mot de passe comporte au moins huit caractères et inclue un mélange de caractères majuscules, minuscules, numériques et spéciaux :

OutputSecuring the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

Que vous choisissiez ou non de configurer le plug-in Validate Password, la prochaine invite consistera à définir un mot de passe pour l'utilisateur MySQL root. Saisissez puis confirmez un mot de passe sécurisé de votre choix :

OutputPlease set the password for root here.


New password:

Re-enter new password:

Si vous avez utilisé le plug-in Validate Password, vous recevrez des commentaires sur la force de votre nouveau mot de passe. Ensuite, le script vous demandera si vous voulez continuer avec le mot de passe que vous venez d'entrer ou si vous voulez en entrer un nouveau. En supposant que vous êtes satisfait de la force du mot de passe que vous venez d'entrer, entrez Y pour continuer le script :

OutputEstimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Ensuite, vous pouvez appuyer sur Y et alors ENTER 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 à distance et chargera ces nouvelles règles afin que MySQL respecte immédiatement les modifications que vous avez apportées.

Avec cela, vous avez installé et sécurisé MySQL sur votre serveur Rocky Linux 9. Dans une dernière étape, nous testerons que la base de données est accessible et fonctionne comme prévu.

Étape 3 - Tester MySQL

Vous pouvez vérifier votre installation et obtenir des informations à son sujet en vous connectant avec le mysqladmin tool, un client qui vous permet d'exécuter des commandes d'administration. Utilisez la commande suivante pour vous connecter à MySQL en tant que root (-u root), demander un mot de passe (-p), et renvoie la version de l'installation :

mysqladmin -u root -p version

Vous verrez une sortie similaire à celle-ci :

Production

mysqladmin  Ver 8.0.28 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version        8.0.28
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /var/lib/mysql/mysql.sock
Uptime:            1 min 11 sec

Threads: 2  Questions: 16  Slow queries: 0  Opens: 133  Flush tables: 3  Open tables: 49  Queries per second avg: 0.225

Cela indique que votre installation a réussi.

Si vous souhaitez vous connecter à MySQL et commencer à y ajouter des données, exécutez la commande suivante :

mysql -u root -p

Comme le précédent mysqladmin commande, cette commande inclut la -u qui vous permet de spécifier l'utilisateur avec lequel vous souhaitez vous connecter (root dans ce cas), et l'option -p , qui indique à la commande de vous demander le mot de passe utilisateur que vous avez défini à l'étape précédente.

Après avoir entré votre mot de passe d'utilisateur MySQL root, vous verrez l'invite MySQL :


À partir de là, vous pouvez commencer à utiliser votre installation MySQL pour créer et charger des bases de données et commencer à exécuter des requêtes.

Conclusion

En suivant ce tutoriel, vous avez installé et sécurisé MySQL sur un serveur Rocky Linux 9. À partir de là, vous pouvez installer Nginx et PHP pour avoir une pile LEMP entièrement opérationnelle sur votre serveur.

Pour en savoir plus sur l'utilisation de MySQL, nous vous encourageons à consulter la documentation officielle.