Préparation du système et nettoyage
Avant de procéder à l'installation de MySQL, il est impératif de supprimer toute version préexistante de MariaDB, qui est souvent installée par défaut sur CentOS 7, afin d'éviter les conflits de bibliothèques.
# Identification des paquets MariaDB installés
rpm -qa | grep mariadb
# Suppression du paquet spécifique (ajuster selon le résultat précédent)
yum remove -y mariadb-libs
Gestion des dépendances et de l'environnement
L'exécution de MySQL nécessite certaines bibliothèques système. Installez les composants essentiels suivants :
yum install -y libaio autoconf
Créez ensuite un compte utilisateur dédié à l'exécution du service MySQL pour renforcer la sécurité du système :
useradd -r -s /bin/false mysql
Déploiement des binaires
Téléchargez l'archive binaire générique (glibc) depuis le site officiel, puis procédez à l'extraction dans le répertoire local du système.
# Extraction de l'archive vers /usr/local
tar -zxvf mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# Création d'un lien symbolique ou renommage pour simplifier l'accès
cd /usr/local
mv mysql-5.5.62-linux-glibc2.12-x86_64 mysql
Initialisation de la base de données
Configurez les droits d'accès sur les répertoires et exécutez le script d'initialisation des tables système de MySQL.
cd /usr/local/mysql
# Attribution temporaire des droits pour l'installation
chown -R mysql:mysql .
# Initialisation des fichiers de données
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# Sécurisation des permissions : root possède les binaires, mysql possède les données
chown -R root .
chown -R mysql data
Configuration du service et du système
Mettez en place le fichier de configuration et le script de démarrage pour permettre au système de gérer le processus MySQL.
# Mise en place du fichier de configuration
cp support-files/my-medium.cnf /etc/my.cnf
# Configuration du script de service
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
# Ajout aux services de démarrage
chkconfig --add mysqld
chkconfig mysqld on
Pour rendre les commandes MySQL accessibles globalement, mettez à jour votre variable d'environnement PATH :
echo "export PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
Démarrage et sécurisation initiale
Lancez le service et définissez le mot de passe du compte adminisrtateur (root).
service mysqld start
# Définition du mot de passe initial
mysqladmin -u root password 'votre_mot_de_passe'
Si vous avez besoin que les noms de tables ne soeint pas sensibles à la casse, modifiez le fichier /etc/my.cnf :
[mysqld]
lower_case_table_names = 1
Opérations de gestion courantes
Voici quelques commandes SQL essentielles pour administrer votre nouvelle instance MySQL :
-- Accès à la console
-- mysql -u root -p
-- Création d'une base de données et d'un utilisateur
CREATE DATABASE app_db CHARACTER SET utf8;
CREATE USER 'admin_user'@'%' IDENTIFIED BY 'secure_password';
-- Attribution des privilèges
GRANT ALL PRIVILEGES ON app_db.* TO 'admin_user'@'%';
FLUSH PRIVILEGES;
-- Modification des droits existants
REVOKE INSERT ON app_db.* FROM 'admin_user'@'%';
Le contrôle du service s'effecute via les commandes standards Linux : service mysqld stop pour l'arrêt, service mysqld restart pour le redémarrage, et service mysqld status pour vérifier l'état du processus.