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

replicación de mysql (réplica de TokuDB):la columna X de la tabla 'database.table' no se puede convertir del tipo 'varchar (Y)' al tipo 'varchar (Y)'

Resulta que había había una diferencia entre la definición de las dos tablas.

El CHARSET fue el verdadero culpable.

Maestro:

...
) ENGINE=InnoDB AUTO_INCREMENT=XXXXX DEFAULT CHARSET=latin1

Réplica:

...
) ENGINE=TokuDB AUTO_INCREMENT=XXXX DEFAULT CHARSET=utf8

Comando requerido para "arreglar" la tabla antes de reiniciar la replicación:

ALTER TABLE database.table CONVERT TO CHARACTER SET latin1;