Actualización de MySQL: de la versión 5.7 a 8.0

Atención no probar esta solución en sistemas en producción. Es solo una demostración de prueba.

Escenario

Por la razón que fuera queremos actualizar la versión de MySQL de 5.7 a 8.0 en ubuntu 16.04. En mi caso quería probar si con la actualización mejoraba cierto problemillas que estaba teniendo con la codificación de caracteres.

Problema

No tiene porque ser un problema en sí, pero, al estar en producción, es necesario cerciorarse que disponemos de una copia de seguridad completa y que el proceso puede ser revertido en caso de fallo.

Solución

El primer paso consiste en asegurarse que nuestro sistema cumple con los requisitos necesarios para instalar la nueva versión de MySQL. Si no tienes instalado el repositorio oficial de MySQL, se puede descargar de esta página e instalarlo con el siguiente comando, en mi caso: Dejamos las opciones por defecto (debe quedar escogida la versión 5.7) y seleccionamos «ok» para completar la instalación del repositorio. A continuación refrescamos el listado de apt y, para empezar, instalamos la aplicación de línea de comando que vamos a necesitar. Ahora ya podemos verificar si nuestro sistema cumple con los requisitos: En caso de que apareciera un error, deberíamos corregirlo antes de empezar la actualización. El siguiente paso es hacer una copia de todas las bases de datos, incluidas las del sistema. He utilizado mysqldump: Y, además, he hecho una copia de seguridad de los ficheros físicos: y de los ficheros de configuración: Ahora que sabemos que nuestro sistema es apto para la instalación y que disponemos de una copia de seguridad, volvemos a lanzar el comando para instalar los productos del repositorio oficial de MySQL: Esta vez, en vez de la versión 5.7, elegimos la 8.0 y «ok». A continuación actualizamos apt de nuevo e instalamos las nuevas versiones de MySQL: Si surge algún problema durante la instalación, los registros de errores en /var/mysql/error.log nos pueden servir de ayuda. En mi caso, por ejemplo, tenía declarada una variable obsoleta en la nueva versión («unknown variable ‘query_cache_limit=1M’«). Una vez finalizado el proceso de instalación de la nueva versión, nos queda lanzar las instrucciones siguientes para actualizar las tablas de la base de datos: Y, con esto, ya deberíamos tener corriendo la nueva versión de MySQL:

Publicaciones Similares

  • Renovación de la llave gpg

    Escenario En mi trabajo usamos gpg para cifrar los documentos con información sensible. Problema Resulta que, en su día, di de alta la clave con una esperanza de vida de dos años. Y dos años pasan muy rápido. Solución Estos son los comandos que hay que ejecutar para extender la fecha de caducidad. Para listar…

  • |

    Traducción de variables en javascript

    Escenario Estoy trabajando en una aplicación multi-lenguaje desarrollada con la plataforma spring boot. Para quien no conozca esta plataforma de desarrollo, spring boot te permite gestionar varios lenguajes gracias a un sistema que utiliza ficheros de tipo propiedades para almacenar las traducciones. Los nombres de estos ficheros han de respetar la siguiente convención, messages_{código ISO…

  • Autenticación múltiple en Spring boot: JWT y formulario

    Escenario Por exigencias de un tercero debemos adaptar nuestro servicio web para que sea compatible con autenticación por JWT. Hasta ahora las llamadas al API se hacían desde dentro de la aplicación usando las mismas credenciales del usuario autenticado por cookie. La configuración de la cadena de filtros de Spring Security es la siguiente:

  • Cómo forzar a Firefox para que use el explorador de ficheros del sistema

    Escenario Llevo tiempo lamentándome cada vez que, con Firefox, tengo que abrir el explorador de ficheros. Por ejemplo para elegir una fichero para subir a un sitio o elegir la carpeta donde quiero dejar un fichero que voy a descargar. Problema Firefox, en vez de usar el explorador de ficheros del sistema —en mi caso…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *