在 MySQL 数据库复制中,Master 和 Slave 是一个很常见的结构,Slave 会从 Master 同步数据副本,而 Syncrelaylog 则是 Master 和 Slave 之间的中间层,它能够收集来自多个 Slave 的数据,并将其同步到 Master 上。
使用 Syncrelaylog 需要在 MySQL 的主配置文件 my.cnf 中进行配置:
[mysqld] relay-log = /var/lib/mysql/relay-bin relay-log-index = /var/lib/mysql/relay-bin.index relay-log-info-file = /var/lib/mysql/relay-bin.info log-bin = /var/lib/mysql/bin-log log-bin-index = /var/lib/mysql/bin-log.index log-bin-info-file = /var/lib/mysql/bin-log.info server-id = 1
在配置完成后,大家需要启动 MySQL 和 Syncrelaylog:
# 启动 MySQL $ service mysql start # 启动 Syncrelaylog $ mysqlbinlog-relay --relay-log=/var/lib/mysql/relay-bin --source-time-zone=UTC --read-from-remote-server --bind-address=0.0.0.0 \ --destination-server-id=2 --destination-host=127.0.0.1 --destination-user=root --destination-password=123456 \ --log-file=/var/log/syncrelaylog.log
使用 Syncrelaylog,大家可以在多个 Slave 之间同步数据,这是一个非常有用的功能。同时,Syncrelaylog 也非常简单易用,值得大家去尝试。