
7/22/2021 · Herman Lee, Pradeep Nayak
What this post added
This post details the technical challenges and solutions involved in migrating Facebook's core workloads from MySQL 5.6 to MySQL 8.0. It covers porting over 1,700 custom code patches, ensuring replication compatibility, minimizing application query changes, and fixing performance regressions. The migration involved a phased approach for replica sets, standardization on row-based replication, and extensive automation validation for both infrastructure and application queries. Specific issues encountered included binlog event format incompatibilities, conflicting error codes, reliance on .frm files, and dynamic privilege support. Application-level issues like reserved keyword conflicts and REGEXP incompatibilities were also addressed.