Hoy os explicamos como actualizar la versión de MySQL de Ubuntu de la versión 5.5 (normalmente la 5.5.57-0ubuntu0.14.04.1) o 5.6 (que vienen por defecto con las instalaciones de Plesk sobre Ubuntu 14.04 LTS; dependiendo del momento en el que se ha instalado) a la versión 5.7 en VPS de OVH o GIGAS.
Esto es una continuación de la explicación de septiembre de 2015 explicamos como actualizar la versión de MySQL de un VPS de OVH o Gigas con Centos 6.7 y MySQL versión 5.1 a la versión 5.5.
Aplicando estos pasos podemos pasar de la versión de MySQL 5.5.57-0ubuntu0.14.04.1 a la versión 5.7.19-1ubuntu14.04.
Y con esto por ejemplo evitamos los errores de Duplicator o Duplicator Pro acerca de utf8mb4_unicode_520_ci:
- STATUS: The collation test failed! The database server being connected to does not support a collation from where the database was created.
- DETAILS: This test checks to make sure this database can support the collations found in the database.sql script.
- Collations in database.sql: utf8mb4_unicode_520_ci: Fail – latin1_swedish_ci: Pass
Primero nos conectamos por SSH al VPS y comprobamos la versión de MySQL instalada:
mysql --version
Y comprobamos que la versión de MySQL es inferior a la 5.7 que es la que queremos actualizar.
Luego vamos a Download MySQL APT Repository para ver la versión actual de «Ubuntu / Debian (Architecture Independent), DEB Package». En este momento (21/marzo/2019) es la: mysql-apt-config_0.8.12-1_all.deb. Lo tenéis en la página abajo del todo.
Esa parte es la que necesitamos para el comando siguiente. Siempre hay que reemplazar con la última versión.
Ejecutamos en SSH:
wget http://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
Ahí hay que seleccionar la versión 5.7 de MySQL y aceptar con OK. Parece que no pasa nada, pero se han guardado cambios en el archivo de configuración.
Luego ponemos:
sudo apt-get update sudo apt-get install mysql-server
Y finalmente:
mysql_upgrade -uadmin -p`< /etc/psa/.psa.shadow `
Si este último comando da un error y no funciona, podemos forzar la actualización con el parámetro final «-f» (ver también: «Actualizar MYSQL en un VPS OVH 2016» ):
mysql_upgrade -uadmin -p`< /etc/psa/.psa.shadow ` -f
Y luego:
sudo service mysql restart service mysql status
OJO: Es muy importante reiniciar el servidor de MySQL con el comando:
sudo service mysql restart
Si no lo hacemos podemos tener problemas luego. Por ejemplo sin entramos a MySQL nos puede mostrar errores como el siguiente:
mysqli_query(): (HY000/1682): Native table ‘performance_schema’.’session_variables’ has the wrong structure
Esto puede dar lugar a inconsistencias en la base de datos y más problemas. Por tanto, después de un MYSQL_UPGRADE siempre ejecutar RESTART.
Y ya lo tenemos.
OJO: Como siempre: Aplicar todos estos comandos solamente si sabéis lo que estáis haciendo.
Espero que le sirva a alguien.