sql >> Databasteknik >  >> RDS >> Mysql

teckenuppsättningar i MySQL-replikering

replikering mellan servrar där parametrarna global character_set_% och collation% är olika stöds inte.

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

inte bara kan replikering misslyckas om uppsättningar och sorteringar är olika, utan det kan resultera i olika sorteringsordningar och teckenförlust under konverteringsuppsättningar/sortering. sorteringsordningen kan påverka saker som infoga/uppdatera om du använder satsbaserad replikering.

det är bäst att konfigurera den nya servern så att den använder samma uppsättningar och sorteringar som den gamla servern. detta säkerställer att replikeringen fungerar korrekt. du vill också se till att databas, tabeller och kolumner alla har samma kollationer mellan master och slav. När du väl har migrerat till den nya servern kan du ändra uppsättning och sortering med verktyg som 5.6 online-schemaändring eller pt-online-schema-change från percona toolkit.

Jag rekommenderar också att du kör perconas pt-table-checksum för att se till att dina tabeller inte har divergerat under replikering eller initial export/import.

se här för mer information om effekterna av skillnader:

för alla som använder Amazon RDS, kom ihåg att standardinställningarna för mysql 5.6 använder blandade utf8(mb3) och latin1 (för server och databas). du bör åsidosätta de med en anpassad parametergrupp om replikering från icke-RDS till/från RDS (matchande käll-/destinationsservrar).



  1. Codeigniter och oracle odefinierad konstant:OCI_COMMIT_ON_SUCCESS

  2. JDBC-drivrutin för Oracle 10G XE

  3. Modellera många-till-många-relationer i JPA/Hibernate

  4. Hur man ersätter alla förekomster av en sträng med en annan sträng i SQL Server – REPLACE()