MySync is mysql high-availability and cluster configuration tool.
MySync is designed to switch master in homogeneous MySQL cluster in manual and automatic mode without data loss.
Project status
MySync is production-ready, it is being used in large production setups.
We appreciate any kind of feedback and contribution to the project.
Architecture
Limitations and requirements
MySQL 5.7+ with GTID's enabled
MySQL cluster is homogeneous - all nodes have exactly the same data
ZooKeeper database to keep state and locks
MySQL configuration
# required
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = ON
binlog_format = ROW
# required, managed by mysync
read_only = ON
super_read_only = ON
offline_mode = ON
# recommended
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1