Saltar al contenido

Migrando de MySQL 5.5 a MariaDB 10.4.

MySQL

Tras la vuelta del verano, seguimos trabajando con MySQL y MariaDB y después de la entrada sobre cómo disponer de MySQL 8 en formato portable (o sea, cómo disponer de MySQL 8 sin necesidad de instalación), idem para MariaDB 10.4 tanto usando Xampp cómo desde ficheros, llega el momento cumbre: migrar desde una base de datos MySQL 5.5 a la última versión disponible de MariaDB, que es la versión 10.4.

A groso modo, pasar de MySQL 5.5.x a MariaDB, sin ni siquiera actualizar a MySQL 8 y sin pasar por otras versiones 5.6 ni 5.7 de MySQL, ni pasar por la 5.5, 10.0, 10.1 o 10.2 o incluso 10.3, es cómo subir a un quinto piso de 10 en 10 escalones, porque hay tanto camino recorrido entre una y otra versión, que a poco que intentes algo, PUM …. error o warning!

Los motivos para migrar a MariaDB

No tengo nada en contra de MySQL, pero en esta ocasión, se opta por MariaDB por el tema del licencias, en una nueva demostración de que existe software libre muy preparado para entrar en producción. Bueno, en realidad, MariaDB empezó como un fork de MySQL y a pesar de que ha tenido una evolución muy paralela, el tiempo está haciendo que ambos caminos sean cada vez más divergentes, pero aún con muchísima compatibilidad entre ambas.

De hecho, en muchos casos, si trabajabas con MySQL desde ODBC no será necesario que actualices los conectores. De hecho, los propios de MySQL son perfectamente válidos con MariaDB, incluso con la versión 10.4 (la última disponible a fecha Mayo-Junio de 2020).

Preparando el terreno para la actualización

Existen dos caminos para realizar la migración, pero en ambos casos, lo primero es hacer un backup de la base de datos. Yo, además, te recomendaría que hicieras también una copia desde el explorador del directorio de datos (datadir) …. más vale prevenir con doble opción!

Porque, si es importante realizar copias de seguridad, más importante es aún validar que pueden ser utilizadas sin problemas, algo que no muchas veces ejecutamos y luego, vienen los problemas, así que … comprobad que las copias son útiles.

Esta comprobación de que los backups funcionan es una interesante manera de comprobar si tienes algún problema en tu bases de datos, cómo alguna vista que no ha sido actualizada tras un cambio en la estructura de datos de alguna tabla, etc, … Cómo puedes imaginar, es un proceso que lleva (o puede llevar mucho) tiempo, pero créeme que estará bien invertido!

Migrando a MariaDB 10.4.x

En esta nueva serie sobre bases de datos, dedicada a MariaDB 10.4, os voy a poner algunos de los problemas con los que te puedes encontrar, y soluciones que he ido tomando, y que pueden ser, tanto de actualizaciones en MySQL 5.5, cómo en MySQL 8 o MariaDB 10.x.

MariaDB 10.0 no está recomendada por haber terminado su soporte, y se puede asemejar a MySQL 5.1, y la última versión es la 10.5, si bien ha habido varias versiones entre medias. Sí es importante que tengas a mano la lista de incompatiblidades entre MySQL y MariaDB, sobre todo con vista a la configuración del servidor.

La versión MariaDB 10.4 trae como novedades:

  • Mejoras en la autentificación, en InnoDB y en optimizer
  • Actualizaciones en sintaxis
  • Nuevas variables
  • Novedades en la replicación

A todo esto, hay que incluirle las novedades de versiones previas, que la hacen muy atractiva para continuar. En futuras entradas iré desgranando algunas de las características que voy incorporando en mis desarrollos.

Si has seguido algunas de las entradas previas, donde hemos usado xampp, no soy el único que ha elegido ese camino: pasar de MySQL a MariaDB, y XAMPP ya lo hizo. Distribuciones muy populares de Linux también han realizado este cambio, tal y cómo puedes leer aquí.

Y con esto, te espero en la siguiente entrada, dónde te cuento cómo proceder con los backups de MySQL (por supuesto, también es aplicable a MariaDB), porque ya te conté algunas enseñanzas sobre backups.

Happy coding!

Manejando Datos Newsletter

Noticias, entradas, eventos, cursos, … News, entrances, events, courses, …


Gracias por unirte a la newsletter. Thanks for joining the newsletter.