sql >> Base de Datos >  >> RDS >> Mysql

conjuntos de caracteres en la replicación de MySQL

no se admite la replicación entre servidores donde los parámetros globales character_set_% y collation% son diferentes.

http://dev.mysql.com/doc /refman/5.6/en/replication-features-charset.html

-- on both servers check the output of...
SHOW VARIABLES LIKE 'char%';
SHOW VARIABLES LIKE 'collat%';

La replicación no solo puede fallar si los conjuntos y las intercalaciones son diferentes, sino que también puede generar diferentes órdenes de clasificación y pérdida de caracteres durante la conversión de conjuntos/intercalaciones. el orden de clasificación puede afectar cosas como insertar/actualizar si se usa la replicación basada en declaraciones.

es mejor que configure el nuevo servidor para usar los mismos conjuntos y colaciones que el servidor anterior. esto asegurará que la replicación funcione correctamente. también querrá asegurarse de que la base de datos, las tablas y las columnas tengan las mismas intercalaciones entre el maestro y el esclavo. una vez que migre al nuevo servidor, puede modificar el conjunto y la intercalación con herramientas como el cambio de esquema en línea 5.6 o pt-online-schema-change del kit de herramientas de percona.

También recomiendo ejecutar pt-table-checksum de percona para asegurarse de que sus tablas no hayan divergido durante la replicación o la exportación/importación inicial.

consulte aquí para obtener más información sobre el impacto de las diferencias:

para cualquiera que esté usando Amazon RDS, tenga en cuenta que la configuración predeterminada de mysql 5.6 usa utf8 (mb3) y latin1 (para servidor y base de datos). debe anular aquellos con un grupo de parámetros personalizado si la replicación no es RDS a/desde RDS (servidores de origen/destino coincidentes).