复制MySQL双主复制实现数据库高可用(mysql双主)

MySQL双主复制是当前常用的一种实现数据库高可用的技术,他可以将主库数据以异步双活方式,同时拷贝传输到两个以上的备库中,主库中的数据发生变更都会被备库同步更新,在短时间内实现数据的完全备份,以应对主库宕机等意外情况,以提高数据的可用性。

MySQL双主复制主要基于MySQL的binlog日志,实现逻辑复制。在双主架构中,会指定一主一备的架构,如此看来这种架构就与主备架构极为相似,甚至可以看作是双备架构的一种变形,这里面分别有一个主库和两个备库,这三台主机间就以异步双活方式实现双向同步:

(1)主库实时将自己的binlog持续同步到备库1和备库2;

(2)备库1实时将自己获取的binlog持续同步到备库2;

(3)备库2将自己的binlog实时同步到主库;

用户可以通过以下代码实现MySQL双主复制:

// 主库上

CHANGE MASTER TO master_host=’192.168.1.1′,master_user=’slaveuser’ ,master_port=3306, master_password=’password’,master_log_file=’mysql-bin.000001′,master_log_pos=0;

// 备库1上

CHANGE MASTER TO master_host=’192.168.1.2′,master_user=’slaveuser’ ,master_port=3306, master_password=’password’,master_log_file=’mysql-bin.000001′,master_log_pos=0;

// 备库2上

CHANGE MASTER TO master_host=’192.168.1.3′,master_user=’slaveuser’ ,master_port=3306, master_password=’password’,master_log_file=’mysql-bin.000001′,master_log_pos=0;

双主复制实现数据库高可用可以将高可用性带到现代解决方案,用户通过这种方式可以实现读写分离,更大的并发负载以及更快的恢复能力,同时具备良好的可用性、安全性及性能等特点,与主备双活方案相比,它可以节省落后恢复的时间,减少数据延迟,对于对可用性有非常高要求的环境和场景场景来讲,可以是一种较好的选择。


数据运维技术 » 复制MySQL双主复制实现数据库高可用(mysql双主)