3

As I understand it, replication filters in MySQL are not allowed for MySQL Group Replication. Is this correct?

Does this imply that all databases among the group replication instances must have the same state initially?

1 Answer 1

0

https://dev.mysql.com/doc/refman/5.7/en/replication-rules.html says:

Note that replication filters cannot be used on a MySQL server instance that is configured for Group Replication, because filtering transactions on some servers would make the group unable to reach agreement on a consistent state.

For example, if servers A, B, and C are a cluster, then each of them should be able to take over in case either of the others crashes. Therefore they should all have the same data at all times, i.e. the same schemas and tables and the same rows of data in the same state.

But if one of these servers have replication filters, then that one by definition doesn't have the same data. If a failover event occurs, it will appear to clients as if some tables suddenly disappeared. And maybe those tables will suddenly come back if another failover event occurs later.

It just creates too many weird cases of inconsistency that have no clear resolution. You might be able to choose a resolution that makes sense for your application (or at least some cases in your application), but it won't be the right resolution for someone else's application.

The simpler rule is: don't create replication filters on any server in a cluster, when the servers are intended to have identical data. If you have some other set of data that isn't required to be kept in sync with the cluster, then you should provision another server.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.