Installation de MySQL 8.0 sur Linux

1. Préparation de l'installation MySQL

Avant d'installer MySQL, il convient de prendre en compte plusieurs éléments essentiels :

  • Sélection de la version : Vérifier la compatibilité avec les autres instances MySQL déjà déployées dans l'infrastructure. En l'absence de contrainte de compatibilité, privilégier la version stable la plus récente (MySQL 8.0 acteullement). Pour un environnement de producsion, toujours choisir une version General Availability (GA) et éviter les versions development release.

  • Méthode d'installation : Deux options principales existent :

    • Paquets binaires (RPM, DEB, TAR)
    • Compilation depuis les sources

    L'installation par paquet binaire TAR est généralement recommandée pour sa simplicité. La compilation depuis les sources ne concerne que les cas spécifiques nécessitant des modifications deepest du code source ou des paramètres de compilation personnalisés.

2. Procédure d'installation sur Linux

2.1 Téléchargement et extraction

Télécharger le paquete binaire approprié depuis le site officiel MySQL. Dans cet exemple, nous utilisons une architecture x86_64.

# Installation de l'utilitaire de transfert
yum install lrzsz

# Extraction dans le répertoire /usr/local/
cd /usr/local/
tar -xvf mysql-8.0.25-linux-glibc2.17-x86_64.tar
tar -xvf mysql-8.0.25-linux-glibc2.17-x86_64.tar.xz

# Renommage du répertoire pour simplifier le chemin
mv mysql-8.0.25-linux-glibc2.17-x86_64 mysql

2.2 Création de l'utilisateur et du groupe système

groupadd dbuser
useradd dbuser -g dbuser

2.3 Préparation du répertoire de données

mkdir /usr/local/mysql/data
chown dbuser:dbuser /usr/local/mysql/data

2.4 Initialisation de la base de données

cd /usr/local/mysql
bin/mysqld --initialize --user=dbuser --datadir /usr/local/mysql/data

La sortie attendue doit contiennent un mot de passe temporaire généré automatiquement :

2021-06-15T10:23:45.123456Z 0 [System] [MY-013169] /usr/local/mysql/bin/mysqld (mysqld 8.0.25) initializing of server in progress
2021-06-15T10:23:51.789012Z 5 [Note] [MY-010454] A temporary password is generated for root@localhost: aB3#xYz9mnLq

2.5 Configuration du service

# Copie du script de démarrage
cp support-files/mysql.server /etc/init.d/mysqld

# Ajout au démarrage automatique
chkconfig --add mysqld
chkconfig mysqld on

2.6 Démarrrage du service MySQL

# Méthode 1 : via mysqld_safe
bin/mysqld_safe --datadir=/usr/local/mysql/data --user=dbuser &

# Méthode 2 : via le script init.d
/etc/init.d/mysqld start

Vérification du démarrage :

[root@serveur01 ~]# /etc/init.d/mysqld start
Starting MySQL.
Logging to '/usr/local/mysql/data/serveur01.err'.
[ OK ]

2.7 Dépannage des erreurs courantes

Si l'erreur suivante apparaît lors de l'initialisation :

bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

Installer la bibliothèque manquante :

yum install -y libaio

2.8 Modification du mot de passe initial

Après la première connexion, MySQL exige un changement de mot de passe :

mysql -u root -p

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> ALTER USER USER() IDENTIFIED BY 'NouveauMotPasse123!';

Note : La syntaxe SET PASSWORD = PASSWORD('motdepasse') utilisée dans les versions antérieures à MySQL 8.0 n'est plus supportée.

Étiquettes: MySQL Linux base-de-donnees installation serveur

Publié le 21 juillet à 21h10