Error al importar base de datos utf8mb4_unicode_520_ci

Hoy un breve post sobre los errores al importar una base de datos de MySQL 5.6 a un servidor con MySQL 5.5. Últimamente cada vez nos estamos encontrando este caso más veces y la solución es simple.

Error de codificación al importar base de datos

La versión 5.5 de MySQL no soporta la codificación utf8mb4_unicode_520_ci sino que solo soporta la utf8mb4_unicode_ci.

Si importamos una web en Plesk con MySQL 5.5 desde un servidor con MySQL 5.6, nos dará el siguiente error:

Este error al final e investigando un poco es debido a que no puede importar la base de datos por un error de la codificación (aunque ahí eso no lo diga en ningún lado). Pero haciendo pruebas llegamos a esa conclusión.

Para poder importar la base de datos de MySQL 5.6 con codificación XXX en MySQL 5.5 con codificación YYY solamente hay que bajarse la base de datos, descomprimirla (si está comprimida) y reemplazar lo siguiente:

con

Y entonces la podemos volver a comprimir (si lo estaba antes) y subirla al servidor que la importará sin problemas y todo funcionará correctamente (aunque pueda parecer raro por el tema de cambio de codificación.

Reemplazar utf8mb4_unicode_520_ci con utf8mb4_unicode_ci

Si queréis algo más de información sobre las diferencias os dejo este texto en inglés de StackOverFlow:

For Unicode, collation names may include a version number to indicate the version of the Unicode Collation Algorithm (UCA) on which the collation is based. UCA-based collations without a version number in the name use the version-4.0.0 UCA weight keys. For example:

utf8_unicode_ci (with no version named) is based on UCA 4.0.0 weight keys >(http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt).

utf8_unicode_520_ci is based on UCA 5.2.0 weight keys (http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt).

For Unicode, the xxx_general_mysql500_ci collations preserve the pre-5.1.24 ordering of the original xxx_general_ci collations and permit upgrades for tables created before MySQL 5.1.24. For more information, see Section 2.11.3, “Checking Whether Tables or Indexes Must Be Rebuilt”, and Section 2.11.4, “Rebuilding or Repairing Tables or Indexes”.

Source : https://dev.mysql.com/doc/refman/5.6/en/charset-collation-names.html

¡Buen fin de semana!

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.