MySQL est disponible en trois éditions principales :
- MySQL Enterprise Edition : version commerciale avec support professionnel (payante)
- MySQL Cluster CGE : édition avancée pour le clustering haute disponibilité (payante)
- MySQL Community Server : version open source gratuite pour la communauté
Installation via le dépôt YUM officiel
Pour installer MySQL 8.0.32 sur un système basé sur RHEL ou CentOS 7, procédez comme suit :
- Téléchargez le package de configuration du dépôt MySQL :
cd /opt
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
yum localinstall mysql80-community-release-el7-7.noarch.rpm
yum update -y
yum install -y mysql-community-server
Vérifiez la version installée :
mysql -V
# Sortie attendue : mysql Ver 8.0.32 for Linux on x86_64 (MySQL Community Server - GPL)
Gestion du service mysqld
Démarrez le service et activez-le pour le démarrage automatique :
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld
Initialisation du mot de passe root
Lors de la première installation, un mot de passe temporaire est généré. Localisez-le dans le journal :
grep 'temporary password' /var/log/mysqld.log
# Exemple de sortie : root@localhost: aB3$cD5eF6
Connectez-vous à MySQL et modifiez immédiatement ce mot de passe :
mysql -uroot -p
# Saisissez le mot de passe temporaire récupéré
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MotDePasseComplexe123!';
FLUSH PRIVILEGES;
EXIT;
Alternative : installation à partir d'un miroir local
Pour les environnements avec accès limité à Internet, utilisez les packages depuis un dépôt miroir :
mkdir /opt/mysql-packages
cd /opt/mysql-packages
wget https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-community-server-8.0.28-1.el7.x86_64.rpm
yum localinstall *.rpm
systemctl start mysqld
Configuration pour JumpServer
Créez une base de données dédiée avec encodage UTF-8 pour supporter les caractères chinois :
mysql -uroot -p
CREATE DATABASE bastion_app DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
Créez un utilisateur applicatif avec des privilèges restreints :
CREATE USER 'app_user'@'%' IDENTIFIED BY 'AppPassword123!@';
FLUSH PRIVILEGES;
Si vous rencontrez des erreurs d'authentification, adaptez le plugin :
ALTER USER 'app_user'@'%' IDENTIFIED WITH mysql_native_password BY 'AppPassword123!@';
Attribuez les permissions nécessaires sur la base de données :
GRANT SELECT, INSERT, UPDATE, DELETE ON bastion_app.* TO 'app_user'@'%';
FLUSH PRIVILEGES;
Commandes d'administration courantes
Quelques requêtes utiles pour gérer MySQL 8.0 :
# Lister les comptes utilisateurs
SELECT User, Host FROM mysql.user;
# Supprimer un compte obsolète
DROP USER 'ancien_compte'@'localhost';
# Voir toutes les bases de données
SHOW DATABASES;
# Supprimer une base de données spécifique
DROP DATABASE test_db;
# Réinitialiser le mot de passe d'un utilisateur
ALTER USER 'utilisateur'@'%' IDENTIFIED BY 'NouveauMotDePasse!';
Emplacement du fichier de configuration
Sur les distributions Ubuntu, le fichier principal de configuration MySQL se trouve généralement dans :
/etc/mysql/mysql.conf.d/mysqld.cnf
Sur CentOS/RHEL, il est situé dans /etc/my.cnf ou /etc/mysql/my.cnf.