En este artículo, revisemos cómo instalar MySQL en CentOS usando yum. En lugar de buscar e instalar mysql y paquetes relacionados uno por uno, es mejor instalar MySQL usando grupos yum.
Si está interesado en instalar la pila LAMP completa, consulte nuestro artículo anterior sobre cómo instalar/actualizar LAMP usando yum.
1. Identifique el nombre del grupo de paquetes MySQL
yum lista de grupos muestra todos los grupos de paquetes que están disponibles en el repositorio. Como se muestra a continuación, el grupo de paquetes mysql se llama "Base de datos MySQL".
# yum grouplist | grep -i mysql MySQL Database
2. ¿Qué incluye el grupo "Base de datos MySQL"?
info del grupo yum muestra todos los paquetes que están agrupados en un grupo. Esto muestra los paquetes obligatorios, predeterminados y opcionales que están disponibles en ese grupo en particular.
Como se muestra a continuación, el grupo "Base de datos MySQL" contiene 1 paquete obligatorio, 6 paquetes predeterminados y 5 paquetes opcionales.
# 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. Instale el grupo "Base de datos MySQL" usando yum groupinstall
instalación grupal de yum instalará el grupo de paquetes "MySQL Database" como se muestra a continuación.
# 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!
4. Verificar la instalación de MySQL
Ejecute rpm -qa para confirmar que los paquetes relacionados con mysql están instalados.
# 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
Verifique /etc/passwd y /etc/group para asegurarse de que haya creado un nombre de usuario y un grupo mysql.
# grep mysql /etc/passwd mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash # grep mysql /etc/group mysql:x:27:
5. Instalación posterior de MySQL:ejecute mysql_install_db
El programa mysql_install_db configurará las tablas de concesión necesarias. El programa mysql_install_db se ejecuta como parte de la instalación de rpm. Pero no está de más ejecutar el programa mysql_install_db nuevamente para asegurarse de que las tablas de permisos estén configuradas correctamente.
# /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. Inicie el servidor MySQL
# service mysqld status mysqld is stopped # service mysqld start Starting MySQL: [ OK ]
7. Verifique que el servidor MySQL esté funcionando.
# /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 | +---------------------------+
Detenga e inicie el servidor mysql nuevamente para asegurarse de que no haya problemas.
# service mysqld stop Stopping MySQL: [ OK ] # service mysqld start Starting MySQL: [ OK ]
8. Cambiar la contraseña de la cuenta raíz de MySQL
Cambie la contraseña de la cuenta raíz de MySQL a algo seguro.
# 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)
Asegúrese de poder iniciar sesión en MySQL con la nueva contraseña como se muestra a continuación.
# 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>