Installation de MySQL 8.0.32 ou 8.0.28+ pour un hôte bastion

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 :

  1. 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.

Étiquettes: MySQL8.0 Linux YUM BastionHost JumpServer

Publié le 25 juillet à 04h23