Hoy tuve que actualizar mi servidor MySQL de MySQL 5.5 a MySQL 5.6. Este fue el procedimiento que usé para actualizar, pero también puede usarlo para instalar desde cero si lo necesita. Comencemos con esta guía para mostrarle cómo instalar MySQL 5.6 en CentOS 6.
Requisitos
- Caja simple de CentOS 6 (sin cPanel)
- Copias de seguridad actualizadas de todas sus bases de datos MYSQL :si bien esta instalación/actualización de rpm no debería afectar sus bases de datos, se recomienda tener una copia de seguridad nueva de todas sus bases de datos.
Para hacer una copia de seguridad de todas sus bases de datos mysql, puede usar esta línea rápida:
mysqldump -u root -p --all-databases > /tmp/all-databases.sql
Esto le pedirá su contraseña raíz y generará un volcado MySQL todo en uno ubicado en /tmp/all-databases.sql
Paso 1:Instale el repositorio de la comunidad MySQL
No importa si ya tiene MySQL instalado o no, esto reemplazará sus RPM actuales de MySQL si existe una versión anterior de MYSQL, como sucedió en mi caso. Esto es realmente importante, siempre debe crear sus propias copias de seguridad completas de todas sus bases de datos antes de continuar con nuestro tutorial sobre cómo instalar mysql 5.6 en CentOS 6.x.
Lo primero que debe hacer es configurar el repositorio oficial de la comunidad MySQL, desde donde vamos a tomar MySQL 5.6 rpm. Esto se puede hacer usando estos comandos:
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm rpm -Uvh mysql-community-release-el6-5.noarch.rpm
En este punto, debería estar listo para instalar MySQL 5.6 en CentOS 6.
Paso 2:Instale MySQL 5.6 en CentOS 6
Escriba los siguientes comandos para instalar MySQL 5.6
yum mysql mysql-server -y
La salida debería ser similar a esta:
[[email protected]:~]yum install mysql mysql-server -y Loaded plugins: fastestmirror, security Setting up Install Process Loading mirror speeds from cached hostfile ... ... ... Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : mysql-community-common-5.6.35-2.el6.x86_64 1/7 Installing : mysql-community-libs-5.6.35-2.el6.x86_64 2/7 Installing : mysql-community-client-5.6.35-2.el6.x86_64 3/7 Installing : mysql-community-server-5.6.35-2.el6.x86_64 4/7 warning: /etc/my.cnf created as /etc/my.cnf.rpmnew Erasing : mysql-server-5.5.54-1.el6.remi.x86_64 5/7 warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave Erasing : mysql-5.5.54-1.el6.remi.x86_64 6/7 Erasing : mysql-libs-5.5.54-1.el6.remi.x86_64 7/7 Verifying : mysql-community-common-5.6.35-2.el6.x86_64 1/7 Verifying : mysql-community-libs-5.6.35-2.el6.x86_64 2/7 Verifying : mysql-community-server-5.6.35-2.el6.x86_64 3/7 Verifying : mysql-community-client-5.6.35-2.el6.x86_64 4/7 Verifying : mysql-5.5.54-1.el6.remi.x86_64 5/7 Verifying : mysql-libs-5.5.54-1.el6.remi.x86_64 6/7 Verifying : mysql-server-5.5.54-1.el6.remi.x86_64 7/7 Installed: mysql-community-client.x86_64 0:5.6.35-2.el6 mysql-community-libs.x86_64 0:5.6.35-2.el6 mysql-community-server.x86_64 0:5.6.35-2.el6 Dependency Installed: mysql-community-common.x86_64 0:5.6.35-2.el6 Replaced: mysql.x86_64 0:5.5.54-1.el6.remi mysql-libs.x86_64 0:5.5.54-1.el6.remi mysql-server.x86_64 0:5.5.54-1.el6.remi Complete! [[email protected]:~]
Una imagen real del proceso de instalación de MySQL 5.6:
Escriba el siguiente comando para verificar si todos los paquetes de MySQL 5.6 rpm se instalaron correctamente:
rpm -qa | grep mysql
La salida debería verse así:
[[email protected]:~]rpm -qa | grep mysql mysql-community-client-5.6.35-2.el6.x86_64 mysql-community-server-5.6.35-2.el6.x86_64 php-mysqlnd-5.6.30-1.el6.remi.x86_64 mysql-community-common-5.6.35-2.el6.x86_64 mysql-community-libs-5.6.35-2.el6.x86_64 mysql-community-release-el6-5.noarch [[email protected]:~]
Inicie MySQL 5.6 y agregue el servicio al proceso de arranque:
chkconfig mysqld on service mysqld start
Verifique que se esté ejecutando MySQL 5.6
[[email protected]:~]mysql -V mysql Ver 14.14 Distrib 5.6.35, for Linux (x86_64) using EditLine wrapper
Ahora intenta conectarte a tu consola MySQL:
[[email protected]:~]mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 280 Server version: 5.6.35 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Ahora reinicie MySQL para asegurarse de que todo funciona como se esperaba en sus sitios web.
service mysqld restart
Si MySQL no se inicia así:
[[email protected]:~]service mysqld restart Stopping mysqld: [ OK ] MySQL Daemon failed to start. Starting mysqld: [FAILED]
Revise sus registros de MySQL, es posible que las antiguas variables obsoletas my.cnf ya no funcionen en la versión 5.6, como me pasó a mí:
[[email protected]:~]tail -100 /var/log/mysqld.log | grep ERR -i 2017-02-06 12:06:34 28942 [ERROR] /usr/sbin/mysqld: unknown variable 'table_cache=26536' 2017-02-06 12:06:34 28942 [ERROR] Aborting
En mi caso, y el viejo obsoleto 'table_cache' impedía que MySQL 5.6 se iniciara correctamente, lo eliminé del archivo /etc/my.cnf, lo reinicié de nuevo y todo funcionó:
[[email protected]:~]service mysqld restart Stopping mysqld: [ OK ] Starting mysqld: [ OK ] [[email protected]:~]
Eso es todo. Como puede ver, actualizar a MySQL 5.6 desde 5.5 o instalar MySQL 5.6 en CentOS desde el MySQL Community Repo oficial es bastante fácil.
Y, en caso de que algo salga realmente mal, puede eliminar su versión 5.6 y reinstalar la 5.5 para recuperar todas sus bases de datos de la copia de seguridad realizada anteriormente.
Por favor, hágamelo saber si tiene alguna pregunta o inquietud acerca de este tutorial. ¿Pudiste instalar MySQL 5.6 en CentOS 6 al final?
Enlaces útiles:
- Repositorio de la comunidad MySQL para CentOS