The Invisible Charset That Silently Breaks MySQL Replication
summary
Upgrading from MySQL 5.7 to 8.0 breaks replication because a newer JDBC connector maps “utf8” to utf8mb4_0900 (id 255), which MySQL 5.7 rejects, causing replication to fail at the simple statement BEGIN with error code 22. Attempts to force server and ProxySQL defaults fail; removing the client-side character set (leaving only the collation) stops the connector from advertising 255 so binlog entries map to id 33 (utf8mb3) and replicas resume. Rollback plan validated by monitoring replicas for two to four weeks.
AI-written summary · about
chapters (8)
- 0:00MySQL replication charset issue
- 1:55Replication failure error 22
- 3:04UTF8MB4 charset mismatch
- 5:16Java connector charset override
- 7:26Dropping charset encoding
- 8:10Lessons from incident
- 9:34Healthy replication post-upgrade
- 9:59Q&A testing rollback








