Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

charsets na replicação do MySQL


a replicação entre servidores em que os parâmetros globais character_set_% e collation% são diferentes não é compatível.

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%';

não apenas a replicação pode falhar se os conjuntos e agrupamentos forem diferentes, mas também pode resultar em diferentes ordens de classificação e perda de caracteres durante os conjuntos/agrupamentos de conversão. A ordem de classificação pode afetar coisas como inserir/atualizar se estiver usando a replicação baseada em instruções.

é melhor configurar o novo servidor para usar os mesmos conjuntos e agrupamentos do servidor antigo. isso garantirá que a replicação funcione corretamente. você também deve certificar-se de que o banco de dados, as tabelas e as colunas tenham os mesmos agrupamentos entre mestre e escravo. depois de migrar para o novo servidor, você pode modificar set &collation com ferramentas como 5.6 online schema change ou pt-online-schema-change do percona toolkit.

Eu também recomendo executar o pt-table-checksum do percona para garantir que suas tabelas não tenham divergido durante a replicação ou exportação/importação inicial.

veja aqui para mais informações sobre o impacto das diferenças:

para quem estiver usando o Amazon RDS, lembre-se de que as configurações padrão do mysql 5.6 usam utf8(mb3) e latin1 mistos (para servidor e banco de dados). você deve substituir aqueles com um grupo de parâmetros personalizado se replicar de não RDS para/do RDS (servidores de origem/destino correspondentes).