Mysql
 sql >> Database >  >> RDS >> Mysql

set di caratteri nella replica di MySQL

la replica tra server in cui i parametri globali set_caratteri_% e confronto% sono diversi non è supportata.

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 solo la replica può fallire se gli insiemi e le regole di confronto sono diversi, ma può comportare ordinamenti diversi e la perdita di caratteri durante la conversione degli insiemi/delle regole di confronto. l'ordinamento può influire su cose come inserimento/aggiornamento se si utilizza la replica basata su istruzioni.

è meglio configurare il nuovo server per utilizzare gli stessi set e regole di confronto del vecchio server. ciò garantirà il corretto funzionamento della replica. ti consigliamo inoltre di assicurarti che il database, le tabelle e le colonne abbiano tutte le stesse regole di confronto tra master e slave. una volta migrata al nuovo server, puoi modificare set e regole di confronto con strumenti come 5.6 online schema change o pt-online-schema-change da percona toolkit.

consiglio anche di eseguire pt-table-checksum di percona per assicurarti che le tue tabelle non siano divergenti durante la replica o l'esportazione/importazione iniziale.

vedere qui per ulteriori informazioni sull'impatto delle differenze:

a chiunque utilizzi Amazon RDS, tieni presente che le impostazioni predefinite di mysql 5.6 utilizzano utf8(mb3) e latin1 misti (per server e database). dovresti sovrascrivere quelli con un gruppo di parametri personalizzato se la replica da non RDS a/da RDS (corrispondenti ai server di origine/destinazione).