MySQL offers a few different options for how you perform replication. Statement-based has been around a lot longer, and though it has some troublesome characteristics they’re known well and can be managed. What’s more it supports online schema changes with multi-master active-passive setup. We recommend this solution.
Row-based replication is newer. It attempts to address problems like those introduced by non-deterministic functions, and replicating stored procedures. But it introduces it’s own challenges.
Click through to the end for multi-master solutions that work with MySQL.
3. Row-based replication limitations
Row-based replication addresses some of the limitations of statement based replication.
o works better with stored procedures
o reduces problems associated with non-deterministic functions
But it creates a few of it’s own, some are show-stoppers:
o won’t work if target table storage engine, column order, data types or row itself are different or missing.
o doesn’t write SQL to the binlogs – useful for troubleshooting
o harder to do point-in-time recovery without SQL in binlogs
o harder to do online schema changes by switching masters