Mysql
 sql >> Base de données >  >> RDS >> Mysql

jeux de caractères dans la réplication MySQL

la réplication entre les serveurs où les paramètres globaux character_set_% et collation% sont différents n'est pas prise en charge.

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

non seulement la réplication peut échouer si les ensembles et les collations sont différents, mais cela peut également entraîner des ordres de tri différents et une perte de caractères lors de la conversion des ensembles/collations. l'ordre de tri peut avoir un impact sur des éléments tels que l'insertion/la mise à jour si vous utilisez une réplication basée sur des instructions.

il est préférable de configurer le nouveau serveur pour qu'il utilise les mêmes ensembles et classements que l'ancien serveur. cela garantira que la réplication fonctionne correctement. vous voudrez également vous assurer que la base de données, les tables et les colonnes ont toutes les mêmes classements entre le maître et l'esclave. une fois que vous avez migré vers le nouveau serveur, vous pouvez modifier l'ensemble et le classement avec des outils tels que le changement de schéma en ligne 5.6 ou pt-online-schema-change de percona toolkit.

Je recommande également d'exécuter pt-table-checksum de percona pour vous assurer que vos tables n'ont pas divergé lors de la réplication ou de l'exportation/importation initiale.

voir ici pour plus d'informations sur l'impact des différences :

à tous ceux qui utilisent Amazon RDS, gardez à l'esprit que les paramètres mysql 5.6 par défaut utilisent un mélange utf8(mb3) et latin1 (pour le serveur et la base de données). vous devez remplacer ceux avec un groupe de paramètres personnalisés en cas de réplication de non-RDS vers/depuis RDS (correspondant aux serveurs source/destination).