Comment installer MySQL sur CentOS 7

Introduction

MySQL est un système de gestion de base de données open source, couramment installé dans le cadre du populaire LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Il utilise une base de données relationnelle et SQL (Structured Query Language) pour gérer ses données.

CentOS 7 préfère MariaDB, un fork de MySQL géré par les développeurs MySQL originaux et conçu comme un remplacement pour MySQL. Si vous exécutez yum install mysql sur CentOS 7, c’est MariaDB qui est installé plutôt que MySQL. Si vous vous demandez MySQL vs. MariaDB, MariaDB fonctionnera généralement parfaitement à la place de MySQL, donc à moins que vous n’ayez un cas d’utilisation spécifique pour MySQL, consultez le guide Comment installer MariaDB sur CentOS 7.

Ce tutoriel expliquera comment installer MySQL version 8 sur un serveur CentOS 7.

Prérequis

Pour suivre ce tutoriel, vous aurez besoin de :

  • A CentOS 7 with a non-root user with sudo privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.

Étape 1 — Installation de MySQL

Comme mentionné dans l’introduction, la commande Yum pour installer MySQL installe en fait MariaDB. Pour installer MySQL, nous devrons visiter le dépôt Yum de la communauté MySQL qui fournit des paquets pour MySQL.

Dans un navigateur web, visitez :

https://dev.mysql.com/downloads/repo/yum/

Remarquez que les liens de téléchargement ne mènent pas directement aux fichiers. Au lieu de cela, ils conduisent à une page ultérieure où vous êtes invité à vous connecter ou à créer un compte. Si vous ne souhaitez pas créer de compte, vous pouvez localiser le texte « Non merci, commencez simplement mon téléchargement », puis clic droit et copiez l’emplacement du lien, ou vous pouvez modifier le numéro de version dans les commandes ci-dessous.

Localisez la version désirée et mettez-la à jour si nécessaire dans le lien ci-dessous :

  1. curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

Une fois le fichier RPM enregistré, nous vérifierons l’intégrité du téléchargement en exécutant md5sum et en le comparant avec la valeur MD5 correspondante répertoriée sur le site :

  1. md5sum mysql80-community-release-el7-5.noarch.rpm
Output
e2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm

Comparez cette sortie avec la valeur MD5 appropriée sur le site :

Maintenant que nous avons vérifié que le fichier n’a pas été corrompu ou modifié, nous allons installer le paquet :

  1. sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

Cela ajoute deux nouveaux dépôts yum MySQL, et nous pouvons maintenant les utiliser pour installer le serveur MySQL :

  1. sudo yum install mysql-server

Appuyez sur y pour confirmer que vous souhaitez procéder. Puisque nous venons d’ajouter le paquet, nous serons également invités à accepter sa clé GPG. Appuyez sur y pour la télécharger et terminer l’installation.

Étape 2 — Démarrage de MySQL

Nous démarrerons le démon avec la commande suivante :

  1. sudo systemctl start mysqld

systemctl ne affiche pas le résultat de toutes les commandes de gestion de service, donc pour être sûr que nous avons réussi, nous utiliserons la commande suivante :

  1. sudo systemctl status mysqld

Si MySQL a démarré avec succès, la sortie devrait contenir Active: active (running) et la dernière ligne devrait ressembler à ceci :

  1. Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

Remarque : MySQL est automatiquement activé pour démarrer au démarrage lorsqu’il est installé. Vous pouvez modifier ce comportement par défaut avec sudo systemctl disable mysqld

Pendant le processus d’installation, un mot de passe temporaire est généré pour l’utilisateur root de MySQL. Localisez-le dans le fichier mysqld.log avec cette commande :

  1. sudo grep 'temporary password' /var/log/mysqld.log
Output
2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

Prenez note du mot de passe, dont vous aurez besoin à l’étape suivante pour sécuriser l’installation et où vous serez contraint de le modifier. La politique de mot de passe par défaut exige 12 caractères, avec au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.

Étape 3 — Configuration de MySQL

MySQL comprend un script de sécurité pour modifier certaines des options par défaut moins sécurisées telles que les connexions root à distance et les utilisateurs d’exemple.

Utilisez cette commande pour exécuter le script de sécurité.

  1. sudo mysql_secure_installation

Cela vous demandera le mot de passe root par défaut. Dès que vous le saisissez, vous devrez le changer.

Output
The existing password for the user account root has expired. Please set a new password. New password:

Entrez un nouveau mot de passe de 12 caractères contenant au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial. Ressaisissez-le lorsqu’on vous le demande.

Vous recevrez un retour sur la robustesse de votre nouveau mot de passe, puis vous serez immédiatement invité à le changer à nouveau. Puisque vous venez de le faire, vous pouvez dire en toute confiance Non:

Output
Estimated strength of the password: 100 Change the password for root ? (Press y|Y for Yes, any other key for No) :

Après avoir refusé de nouveau de changer le mot de passe, nous appuierons sur Oui puis sur ENTRÉE pour toutes les questions suivantes afin de supprimer les utilisateurs anonymes, de refuser les connexions root à distance, de supprimer la base de données de test et l’accès à celle-ci, et de recharger les tables de privilèges.

Maintenant que nous avons sécurisé l’installation, testons-la.

Étape 4 — Test de MySQL

Nous pouvons vérifier notre installation et obtenir des informations à ce sujet en nous 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), demandez un mot de passe (-p), et retournez la version.

  1. mysqladmin -u root -p version

Vous devriez voir une sortie similaire à ceci:

Output
mysqladmin  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
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:			3 min 2 sec

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

Cela indique que votre installation a réussi.

Conclusion

Dans ce tutoriel, nous avons installé et sécurisé MySQL sur un serveur CentOS 7. Pour en savoir plus sur l’utilisation de MySQL, ce guide sur l’apprentissage des commandes MySQL peut aider. Vous pouvez également envisager d’implémenter quelques mesures de sécurité supplémentaires.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7