Tip: Error al importar base de datos MySQL

Esta semana pasada se nos presentó un problema a la hora de importar una base de datos de un cliente a nuestro servidor de MySQL, mediante phpmyadmin. Concretamente el error #1709 el cual nos decía que el índice de la columna es demasiado largo y supera los 767 bytes de longitud.

El servidor donde se va a alojar la base de datos corre un MySQL en la versión 5.6.

Después de jugar con el charset y probarlo en un servidor con una versión superior de MySQL, se importaba sin problemas.

Viendo las diferencias entre la 5.6 y 5.7 vimos que el motor InnoDB de la versión 5.6 viene por defecto con el formato de columnas “Compact” y en la versión 5.7 en “Dynamic”. Por lo que en el fichero SQL a importar hay que añadir la instrucción para cree el índice de la tabla que falla de forma dinámica:

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;

Después de añadirlo y volver a generar el proceso de importación, ya tenemos la base de datos lista para utilizar en el nuevo servidor sin ningún otro tipo de problema.

Espero que os haya servido de gran ayuda!