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.