itmasterMySQL多主复制:实现高可用性(mysqlmul)

MySQL多主复制是MySQL中应用最广泛的复制模式,主要原理是将一个主库的变更通过网络同步的方式传输到多个从库上,实现数据的复制,从而实现数据库的负载均衡。MySQL多主复制可以让最多255个MySQL服务器参与到复制集群中,它们可以就在一张数据库表上同时写数据,从高可用性、性能、安全跨数据中心部署等角度来看,多主复制就具有了至关重要的作用,而且可以支持非常复杂的基于地理的复制场景,可以实现读写全球范围内的数据。

基于MySQL多主复制可以实现数据的可靠同步,这一套复制集群的架构可以保证数据的一致性,将所有的多主服务器编组一致,可以保证所有设备的可靠性,从而实现可靠的高可用性,从表达式而言,我们可以称这套架构为:master-master replication clusters。

MySQL多主复制的实现原理还是基于Binlog:每个MySQL实例都会记录所有发生在master/slave服务器上的事件,主要包括insert/update/delete操作,mysql会实时把这些事件记录到Binlog中,slave服务器通过读取master服务器的binlog,实时解析binlog中的伪代码,获取最新的变更,最后apply到slave上,从而实现多主的同步。

的示例代码如下:

##在Master上运行

#建立复制用户
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
#记录当前的Binlog状态
SHOW MASTER STATUS;
#启动复制
START SLAVE;

##在Slaver上运行

#设置连接主服务器及复制用户  
CHANGE MASTER TO MASTER_HOST='xx.xx.xx.xx',MASTER_USER='repl',MASTER_PASSWORD='password';
#启动复制
START SLAVE;

总之,MySQL多主复制既可以保证数据的安全性,又能提供高可用服务,使得全球读写性能无与伦比,有利于数据的安全可靠管理,是企业大批量数据虚拟化的理想解决方案。


数据运维技术 » itmasterMySQL多主复制:实现高可用性(mysqlmul)