(Resuelto) Collation desconocido UTF8MB4_0900_AI_CI

(Resuelto) Collation desconocido UTF8MB4_0900_AI_CI

Una recopilación es un conjunto de reglas que define cómo comparar y clasificar las cadenas de caracteres en un servidor de base de datos. En este tutorial, estamos discutiendo un error enfrentado durante la restauración de la base de datos en otro servidor.

Veamos el problema y la solución al problema enfrentado recientemente:

Problema

Durante la migración de una aplicación web, obtuve el siguiente error al restaurar una base de datos en otro servidor. La identificación de la recopilación puede diferir según la versión mysql.

Mensaje de error:

Error 1273 (hy000) en la línea 25 Desconocido Collation: 'UTF8MB4_0900_AI_CI' 

Consulte la captura de pantalla de error durante la restauración de la base de datos.

Aquí vas con una solución.

Solución

Después de una pequeña investigación, descubrí que el servidor MySQL que se ejecuta en el destino es una versión anterior que la fuente. Entonces obtuvimos que el servidor de destino no contiene la recopilación de la base de datos requerida.

Luego hacemos un pequeño ajuste en el archivo de copia de seguridad para resolver esto. Editar el archivo de copia de seguridad de la base de datos en el editor de texto y reemplazar "UTF8MB4_0900_AI_CI" con "utf8mb4_general_ci" y "Charset = UTF8MB4" con "Charset = UTF8".

Reemplace la cadena a continuación:

Motor = innodb predeterminado charset = utf8mb4 collate = utf8mb4_0900_ai_ci; 

con:

Motor = innodb predeterminado charset = utf8 collate = utf8_general_ci; 

Guarde su archivo y restaure la base de datos.

Los usuarios del sistema Linux pueden usar el comando SED para reemplazar el texto en archivos directamente.

SED -I 'S/UTF8MB4_0900_AI_CI/UTF8_GENERAL_CI/G' COMPARACIÓN.sql  SED -I 'S/Charset = UTF8MB4/Charset = UTF8/G' Copia de seguridad.sql  

Que eso. Después de los cambios anteriores, la base de datos se restauró correctamente!

Espero que esta solución te haya ayudado a resolver "Desconocido Collation: 'UTF8MB4_0900_AI_CI'" asunto.