Installation hors ligne de MySQL sur un serveur Linux

En environnement professionnel, il est parfois nécessaire de déployer MySQL sur des machines virtuelles sans accès réseau. Ce guide décrit comment installer MySQL 8.0 hors ligne sur un système Linux, en contournant les téléchargements directs via wget ou Docker.

Préparation des fichiers d'installation

Téléchargez l'archive MySQL correspondant à votre architecture système depuis le site officiel. Pour cet exemple, nous utilisons la version 8.0.33 pour Linux x86_64. Transférez le fichier compressé sur le serveur cible, par exemple dans le répertoire /tmp.

# Extraction de l'archive
tar -xzvf mysql-8.0.33-linux-glibc2.17-x86_64.tar.gz -C /tmp

Déploiement et configuration initiale

Déplacez le répertoire extrait vers un emplacement standardisé et renommez-le :

mv /tmp/mysql-8.0.33-linux-glibc2.17-x86_64 /opt/mysql

Créez un dossier pour les données et modifiez le fichier de configuraton :

mkdir -p /opt/mysql/data
vim /etc/mysql/my.cnf

Contenu recommandé pour /etc/mysql/my.cnf :

[mysqld]
port=3307
basedir=/opt/mysql
datadir=/opt/mysql/data
max_connections=5000
max_connect_errors=5
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=caching_sha2_password

[mysql]
default-character-set=utf8mb4

[client]
port=3307
default-character-set=utf8mb4

Initialisation et premier démarrage

Initialisez le moteur de base de données avec l'utilisateur système dédié :

cd /opt/mysql
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data

Notez le mot de passe temporaire généré lors de cette étape. Ensuite, configurez les certificats SSL :

bin/mysql_ssl_rsa_setup --uid=mysql

Démarrez le service temporairement pour effectuer les configurations :

bin/mysqld_safe --user=mysql &
bin/mysql -h 127.0.0.1 -P 3307 -u root -p

Sécurisation de l'installation

Après connexion avec le mot de passe temporaire, changez-le et ajustez les privilèges :

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NouveauMotDePasse123!';
FLUSH PRIVILEGES;

USE mysql;
UPDATE user SET host='%' WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;

Configuration du service système

Pour faciliter la gestion, ajoutez les binaires au PATH système :

echo 'export PATH=/opt/mysql/bin:$PATH' >> /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh

Copiez le script de service pour une intégration avec systemd :

cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
update-rc.d mysqld defaults

Vous pouvez désormais gérer le service via les commandes standard :

service mysqld start
service mysqld status
service mysqld stop

Étiquettes: MySQL Linux installation-hors-ligne base-de-donnees configuration-système

Publié le 4 juillet à 18h20