Comment installer MySQL sur Rocky Linux 9
Vous n'utilisez pas Rocky Linux 9 ?Choisissez une version ou une distribution différente.
Introduction
MySQL est un système de gestion de base de données open-source, couramment installé dans le cadre du populaire stack LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Il implémente le modèle relationnel et le langage de requête structuré (SQL) pour gérer et interroger les données.
Ce tutoriel explique comment installer MySQL version 8 sur un serveur Rocky Linux 9.
Prérequis
Pour compléter ce tutoriel, vous aurez besoin d'un serveur exécutant Rocky Linux 9. Ce serveur doit disposer d'un utilisateur non-root avec des privilèges administratifs et d'un pare-feu configuré avec firewalld. Pour mettre cela en place, consultez notre guide de configuration initiale du serveur pour Rocky Linux 9.
Étape 1 — Installer MySQL
Sur Rocky Linux 9, la version 8 de MySQL est disponible dans les dépôts par défaut.
Exécutez la commande suivante pour installer le paquet mysql-server ainsi qu'un certain nombre de ses dépendances :
sudo dnf install mysql-serverLorsque vous y êtes invité, appuyez sur y puis sur ENTRÉE pour confirmer que vous souhaitez continuer :
. . .
Install 49 Packages
Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]: yAvec cela, MySQL est installé sur votre serveur mais il n’est pas encore opérationnel. Le paquet que vous venez d’installer configure MySQL pour fonctionner comme un service systemd nommé mysqld.service. Pour utiliser MySQL, vous devrez le démarrer avec la commande systemctl :
sudo systemctl start mysqld.servicePour vérifier que le service fonctionne correctement, exécutez la commande suivante. Notez que pour de nombreuses commandes systemctl — y compris start et, comme montré ici, status — vous n’avez pas besoin d’ajouter .service après le nom du service :
sudo systemctl status mysqldSi MySQL a été démarré avec succès, la sortie affichera que le service MySQL est actif :
● 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 fois que le serveur démarre avec la commande suivante :
sudo systemctl enable mysqldRemarque : Si vous souhaitez un jour changer ce comportement et empêcher MySQL de démarrer au démarrage, vous pouvez le faire en exécutant :
sudo systemctl disable mysqldMySQL 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 en utilisant un script shell qui était préinstallé avec votre instance MySQL.
Étape 2 — Sécurisation de 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 de validation des mots de passe, que vous pouvez utiliser pour tester la solidité de votre mot de passe MySQL.
Si vous choisissez de configurer le plugin de validation de mot de passe, le script vous demandera de choisir un niveau de validation de mot de passe. Le niveau le plus élevé — que vous sélectionnez en entrant 2 — exigera que votre mot de passe comporte au moins huit caractères et inclue un mélange de majuscules, de minuscules, de chiffres et de caractères spéciaux :
Securing 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: 2Que vous choisissiez ou non d'installer le plugin de validation de mot de passe, l'invite suivante consistera à définir un mot de passe pour l'utilisateur MySQL root. Saisissez ensuite confirmez un mot de passe sécurisé de votre choix :
Please set the password for root here.
New password:
Re-enter new password:Si vous avez utilisé le plugin de validation du mot de passe, vous recevrez des retours sur la solidité de votre nouveau mot de passe. Ensuite, le script vous demandera si vous souhaitez continuer avec le mot de passe que vous venez de saisir ou si vous voulez en entrer un nouveau. En supposant que vous soyez satisfait de la solidité du mot de passe que vous venez d'entrer, saisissez Y pour continuer le script :
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : YEnsuite, vous pouvez appuyer sur Y puis sur ENTRÉE pour 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 appliquera ces nouvelles règles afin que MySQL respecte immédiatement les modifications que vous avez effectuées.
Avec cela, vous avez installé et sécurisé MySQL sur votre serveur Rocky Linux 9. Comme dernière étape, nous allons tester que la base de données est accessible et fonctionne comme prévu.
Étape 3 — Test de MySQL
Vous pouvez vérifier votre installation et obtenir des informations à son sujet en vous connectant avec l'outil mysqladmin, un client qui vous permet d'exécuter des commandes administratives. Utilisez la commande suivante pour vous connecter à MySQL en tant que root (-u root), demander un mot de passe (-p) et retourner la version de l'installation :
mysqladmin -u root -p versionVous verrez une sortie similaire à ceci :
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.225Cela indique que votre installation a réussi.
Si vous souhaitez vous connecter à MySQL et commencer à y ajouter des données, exécutez ce qui suit :
mysql -u root -p
Comme la commande mysqladmin précédente, cette commande inclut l'option -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 de l'utilisateur que vous avez défini à l'étape précédente.
Après avoir saisi le mot de passe de votre 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 pourriez installer Nginx et PHP pour avoir une pile LEMP pleinement opérationnelle sur votre serveur.
Pour en savoir plus sur l'utilisation de MySQL, nous vous encourageons à consulter la documentation officielle.
