Installer et configurer MySQL 5.7 sur CentOS 7 et Ubuntu 16.04

Objectif et variantes de recherche
- Installer MySQL 5.7 sur CentOS 7 et Ubuntu 16.04
- Installer MySQL 5.7 CentOS 7
- Installer MySQL 5.7 Ubuntu 16.04
- Configurer mot de passe root MySQL 5.7
- Activer MySQL au démarrage systemd
Pré-requis
- Accès root ou un compte sudo sur le serveur.
- Connexion Internet pour télécharger le dépôt et les paquets.
- CentOS 7 ou Ubuntu 16.04 mis à jour.
Important : ce guide installe MySQL 5.7 depuis les dépôts officiels MySQL (mysql-community-server). Si vous préférez MariaDB ou une version packagée par la distribution, consultez la section « Approches alternatives » plus bas.
Étape 1 — Ajouter le dépôt MySQL
MySQL fournit des paquets de dépôt pour RPM et DEB contenant la dernière version stable. Il est nécessaire d’ajouter ce dépôt pour installer MySQL 5.7.
Sur CentOS 7, installez le paquet RPM du dépôt :
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
Lorsqu’on vous demande d’ajouter le dépôt, tapez “y” puis Entrée.
Sur Ubuntu 16.04, téléchargez le paquet DEB du dépôt, installez-le puis actualisez les sources :
wget https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb
dpkg -i mysql-apt-config_0.8.3-1_all.deb
apt-get update
Pendant l’installation du paquet de configuration, un écran vous demande quelle version de MySQL installer et quels outils additionnels activer. Laissez les valeurs par défaut (sélectionnez OK et appuyez sur Entrée) si vous souhaitez MySQL 5.7.
Le dépôt MySQL est maintenant disponible sur le système.
Étape 2 — Installer MySQL 5.7
Le paquet principal s’appelle mysql-community-server. Installez-le depuis le dépôt ajouté.
Sur CentOS :
yum -y install mysql-community-server
Sur Ubuntu :
apt-get install -y mysql-community-server
Note : Sur Ubuntu, le processus d’installation demandera de définir un mot de passe root MySQL. Choisissez et retapez un mot de passe fort.
MySQL 5.7 est installé après l’exécution réussie de ces commandes.
Étape 3 — Démarrer MySQL et activer le démarrage automatique
Démarrez le service et activez-le pour qu’il démarre automatiquement au démarrage du système (systemd).
Sur CentOS (service mysqld) :
systemctl start mysqld
systemctl enable mysqld
Sur Ubuntu (service mysql) :
systemctl start mysql
systemctl enable mysql
MySQL écoute par défaut sur le port TCP 3306. Vous pouvez vérifier les sockets et ports actifs :
netstat -plntu
Pour vérifier si le service est activé au démarrage :
CentOS :
systemctl is-enabled mysqld
Ubuntu :
systemctl is-enabled mysql
Résultat attendu : enabled = le service est configuré pour démarrer au boot.
Étape 4 — Configurer ou réinitialiser le mot de passe root MySQL
Sur Ubuntu, l’installateur vous a normalement demandé un mot de passe root pendant l’installation. Si vous l’avez défini, vous n’avez rien d’autre à faire ici.
Sur CentOS 7, MySQL génère un mot de passe temporaire lors du premier démarrage. Ce mot de passe se trouve dans le fichier de log mysqld.log. Pour l’afficher :
grep 'temporary' /var/log/mysqld.log
Connectez-vous ensuite au shell MySQL avec ce mot de passe temporaire :
mysql -u root -p
TYPE DEFAULT PASSWORD
Remplacez le mot de passe temporaire par un mot de passe fort. Exemple (remplacez par le vôtre) :
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Newhakase-labs123@';
flush privileges;
Après l’exécution de cette requête, le mot de passe root est changé.
Note : vous pouvez réinitialiser le mot de passe root ultérieurement avec la même requête si nécessaire.
Étape 5 — Tests : créer une base et un utilisateur
Connectez-vous au shell MySQL avec le mot de passe root :
mysql -u root -p
TYPE NEW PASSWORD: Newhakase-labs123@
Créer une base de données appelée hakaselabs (remplacez par votre choix) :
create database hakaselabs;
Créer un utilisateur hakase et lui attribuer un mot de passe :
create user hakase@localhost identified by 'Hakase123@';
Accorder les privilèges sur la base créée :
grant all privileges on hakaselabs.* to hakase@localhost identified by 'Hakase123@';
flush privileges;
Quittez et reconnectez-vous avec le nouvel utilisateur :
mysql -u hakase -p
TYPE THE PASSWORD: Hakase123@
Listez les bases de données accessibles à cet utilisateur :
show databases;
Vous devriez voir hakaselabs dans la liste.
MySQL 5.7 est maintenant installé, démarré automatiquement et testé avec un utilisateur et une base de données.
Vérifications et tests recommandés (mini-checklist)
- Vérifier que le service est actif : systemctl status mysqld ou systemctl status mysql
- Vérifier l’écoute du port 3306 : netstat -plntu | grep 3306
- Tenter une connexion locale : mysql -u root -p
- Vérifier les privileges : SELECT User,Host FROM mysql.user;
- Examiner les logs si besoin : journalctl -u mysqld ou /var/log/mysqld.log
Sécurité et bonnes pratiques
- Choisissez des mots de passe complexes et uniques pour root et les utilisateurs.
- Ne permettez pas la connexion root distante : vérifiez que root@’%’ n’existe pas.
- Mettez en place des sauvegardes régulières (mysqldump, Percona XtraBackup, ou snapshot de disque).
- Appliquez des mises à jour de sécurité du système et du paquet MySQL.
Approches alternatives
- MariaDB : remplaçant drop-in pour de nombreuses distributions. Plus intégré à certaines versions de systèmes.
- MySQL via container Docker : utile pour isoler l’installation et gérer des versions multiples.
- Compilation manuelle : recommandé seulement pour besoins très spécifiques ou optimisation.
Quand cela peut échouer (contre-exemples)
- Le dépôt officiel n’est pas ajouté correctement (erreurs HTTP ou DNS). Vérifiez connectivité et URL.
- Conflit avec une version MySQL/MariaDB préexistante. Désinstallez ou purgez les paquets avant.
- Port 3306 déjà occupé. Identifiez le processus et modifiez la configuration si nécessaire.
- Problèmes de permissions SELinux sur CentOS. Vérifiez les logs et ajustez les règles SELinux.
Modèle mental rapide (heuristique)
- Ajouter dépôt → installer paquet → démarrer service → sécuriser mot de passe → tester accès.
Fiche synthétique (chiffres-clés et paramètres)
- Version cible : MySQL 5.7
- Services systemd : mysqld (CentOS), mysql (Ubuntu)
- Port par défaut : 3306
- Paquet principal : mysql-community-server
- Fichiers de log : /var/log/mysqld.log (CentOS), journalctl -u mysql (Ubuntu)
Playbook condensé (SOP rapide)
- sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm (CentOS)
- sudo yum -y install mysql-community-server (CentOS)
- sudo systemctl start mysqld && sudo systemctl enable mysqld
- sudo grep ‘temporary’ /var/log/mysqld.log => récupérer mot de passe temporaire
- mysql -u root -p => ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘VotreMotDePasse!’;
- Créer bases/utilisateurs et vérifier accès.
Cas de test / Critères d’acceptation
- Le service MySQL est actif et enabled.
- root se connecte avec le mot de passe configuré.
- Un utilisateur non-root peut se connecter et accéder à la base créée.
- Le port 3306 est à l’écoute et accessible localement.
Checklist par rôle
- Administrateur système : ajouter dépôt, installer paquet, configurer démarrage, surveiller logs.
- DBA : définir politique de mots de passe, créer schémas, plan de sauvegarde et restauration.
- Développeur : tester la connexion, exécuter migrations, vérifier compatibilité SQL.
Migration et compatibilité
- MySQL 5.7 introduit des changements par rapport à 5.6 (ex. changements de variables par défaut). Testez vos applications dans un environnement de pré-production.
- Si vous migrez depuis MariaDB, vérifiez la compatibilité des fonctions et extensions.
Conseils de dépannage rapides
- Erreur d’authentification : relire le mot de passe et vérifier l’hôte (localhost vs %).
- Service ne démarre pas : consulter journalctl -u mysqld ou /var/log/mysqld.log.
- Problèmes SELinux : temporairement mettre en mode permissif pour diagnostiquer.
Notes relatives à la confidentialité et à la conformité
- Les identifiants et mots de passe ne doivent pas être stockés en clair dans des dépôts de code.
- Pour des environnements soumis au RGPD, documentez les accès et les sauvegardes contenant des données personnelles.
Glossaire (1 ligne)
- mysql-community-server : paquet officiel MySQL fournissant le serveur de base de données et ses utilitaires.
Résumé final
MySQL 5.7 peut être installé facilement depuis les dépôts officiels sur CentOS 7 et Ubuntu 16.04. Les étapes clés sont l’ajout du dépôt, l’installation du paquet mysql-community-server, l’activation du service au démarrage, la sécurisation du compte root et la validation par la création d’une base et d’un utilisateur. Testez toujours dans un environnement d’essai avant de déployer en production.
Référence officielle : https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html
Matériaux similaires

Installer Moodle 3.2 sur CentOS 7
Faire démarrer les programmes au démarrage de Windows

Supprimer applications préinstallées sur Android et iOS

Dev Error 6068 dans Warzone — correctifs essentiels

Vérifier la version de PowerShell sur Windows
