Dans cet article, voyons comment installer MySQL sur CentOS à l'aide de yum. Au lieu de rechercher et d'installer mysql et les packages associés un par un, il est préférable d'installer MySQL à l'aide de groupes yum.
Si vous souhaitez installer la pile LAMP complète, reportez-vous à notre article précédent sur comment installer/mettre à jour LAMP en utilisant yum.
1. Identifiez le nom du groupe de packages MySQL
yum liste de groupe affiche tous les groupes de packages disponibles dans le référentiel. Comme indiqué ci-dessous, le groupe de packages mysql est appelé "Base de données MySQL".
# yum grouplist | grep -i mysql MySQL Database
2. Qu'est-ce qui est regroupé dans le groupe "Base de données MySQL" ?
yum groupinfo affiche tous les packages regroupés dans un groupe. Cela affiche les packages obligatoires, par défaut et facultatifs disponibles dans ce groupe particulier.
Comme indiqué ci-dessous, le groupe "Base de données MySQL" contient 1 package obligatoire, 6 packages par défaut et 5 packages facultatifs.
# yum groupinfo "MySQL Database" Group: MySQL Database Description: This package group contains packages useful for use with MySQL. Mandatory Packages: mysql Default Packages: MySQL-python libdbi-dbd-mysql mysql-connector-odbc mysql-server perl-DBD-MySQL unixODBC Optional Packages: mod_auth_mysql mysql-bench mysql-devel php-mysql qt-MySQL
3. Installez le groupe "MySQL Database" en utilisant yum groupinstall
yum groupinstall installera le groupe de packages "Base de données MySQL" comme indiqué ci-dessous.
# yum groupinstall "MySQL Database" Resolving Dependencies Dependencies Resolved Transaction Summary ========================= Install 12 Package(s) Update 0 Package(s) Remove 0 Package(s) Installed: MySQL-python.i386 0:1.2.1-1 libdbi-dbd-mysql.i386 0:0.8.1a-1.2.2 mysql.i386 0:5.0.77-4.el5_4.2 mysql-connector-odbc.i386 0:3.51.26r1127-1.el5 mysql-server.i386 0:5.0.77-4.el5_4.2 perl-DBD-MySQL.i386 0:3.0007-2.el5 unixODBC.i386 0:2.2.11-7.1 Dependency Installed: libdbi.i386 0:0.8.1-2.1 libdbi-drivers.i386 0:0.8.1a-1.2.2 libtool-ltdl.i386 0:1.5.22-7.el5_4 mx.i386 0:2.0.6-2.2.2 perl-DBI.i386 0:1.52-2.el5 Complete!
Remarque : Si vous rencontrez des problèmes lors de l'installation, vérifiez le journal d'installation complet de mysql pour voir ce qu'il vous manque.
4. Vérifier l'installation de MySQL
Exécutez rpm -qa pour confirmer que les packages liés à mysql sont installés.
# rpm -qa | grep -i mysql MySQL-python-1.2.1-1 mysql-5.0.77-4.el5_4.2 mysql-connector-odbc-3.51.26r1127-1.el5 mysql-server-5.0.77-4.el5_4.2 libdbi-dbd-mysql-0.8.1a-1.2.2 perl-DBD-MySQL-3.0007-2.el5
Vérifiez /etc/passwd et /etc/group pour vous assurer qu'il a créé un nom d'utilisateur et un groupe mysql.
# grep mysql /etc/passwd mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash # grep mysql /etc/group mysql:x:27:
5. Post-installation de MySQL – Exécutez mysql_install_db
Le programme mysql_install_db configurera les tables de droits nécessaires. Le programme mysql_install_db est exécuté dans le cadre de l'installation rpm. Mais cela ne fait pas de mal d'exécuter à nouveau le programme mysql_install_db pour s'assurer que les tables de droits sont correctement configurées.
# /usr/bin/mysql_install_db --user=mysql Installing MySQL system tables...OK Filling help tables...OK ..... The latest information about MySQL is available on the web at http://www.mysql.com
6. Démarrer le serveur MySQL
# service mysqld status mysqld is stopped # service mysqld start Starting MySQL: [ OK ]
7. Vérifiez que le serveur MySQL est opérationnel.
# /usr/bin/mysqladmin version /usr/bin/mysqladmin Ver 8.41 Distrib 5.0.77, for redhat-linux-gnu on i686 Copyright (C) 2000-2006 MySQL AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.77 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 39 sec Threads: 1 Questions: 2 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.051
# /usr/bin/mysqlshow +--------------------+ | Databases | +--------------------+ | information_schema | | mysql | | test | +--------------------+ # /usr/bin/mysqlshow mysql Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | func | | help_category | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+
Arrêtez et redémarrez le serveur mysql pour vous assurer qu'il n'y a pas de problèmes.
# service mysqld stop Stopping MySQL: [ OK ] # service mysqld start Starting MySQL: [ OK ]
8. Modifier le mot de passe du compte root MySQL
Remplacez le mot de passe du compte root MySQL par quelque chose de sécurisé.
# mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select host, user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | 127.0.0.1 | root | | localhost | | | localhost | root | +-----------+------+ 5 rows in set (0.00 sec) mysql> set password for 'root'@'localhost' = PASSWORD('DoNotTell$AnyBody'); Query OK, 0 rows affected (0.00 sec) mysql> set password for 'root'@'127.0.0.1' = PASSWORD('DoNotTell$AnyBody'); Query OK, 0 rows affected (0.00 sec)
Assurez-vous que vous pouvez vous connecter à MySQL en utilisant le nouveau mot de passe comme indiqué ci-dessous.
# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) # mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.0.77 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>