mysql双主复制原理_Mysql主主复制原理及配置

Mysql双主模型其实也是也是一种replication,即两个mysql互为主备,虽然理论上,双主只要数据不冲突就可以工作的很好,但是实际应用环境中,还是很容易发生数据冲突的情况,比如在同步完成之前,双方都修改同一条记录。因此在实际中,最好不要让两边同时修改。即逻辑上仍按照主从的方式工作。但双主的设置仍然是有意义的,因为这样做之后,切换主备会变的很简单。因为在出现故障后,如果之前配置了双主,则直接切换主备会很容易。

环境配置

Mysql172.16.254.150/16

Mysql172.16.254.151/16

配置如下:

安装mysql并提供配置文件,也可以直接在/etc/my.cnf配置文件中[mysqld]段中直接添加自己所需要的配置[root@localhost ~]# yum -y install mysql mysql-server

[root@localhost ~]# cp /usr/share/mysql/my-large.cnf /etc/my.cnf

开启二进制日志和中继日志,修改server-id,设置auto-increment-increment和auto-increment-offset,为了让双主同时在一张表中进行添加操作时不会出现id冲突

45218e6abe066d50c91fe3fa9e61d6e2.png

授权用于复制的用户,并指向另一台mysql服务器(172.16.254.151/16)mysql> grant replication slave, replication client on *.* to 'repluser'@'172.16.%.%' identified by 'mypass';

mysql> change master to master_host='172.16.254.151',master_user='repluser',master_password='mypass',master_log_file='mysql-bin.000004',master_log_pos=106;

另一台Mysql服务器(172.16.254.151/16)与上面配置相同(启用二进制日志、启动中继日志、修改server-id、设置auto-increment-increment和auto-increment-offset、授权复制用户、指向172.16.254.150/16服务器),只不过两台服务器server-id不能相同,auto-increment-offset起始值为2,然后两台服务器启动slave功能,查看两台服务器slave_sql和slave_io线程是否为yes

15c6dfa9d4d4cf73e95b2628e282837b.png          

7bfeaa1b696a27432955649ba89a1ad2.png

最后,在其中一台服务器上创建一张表,并插入自动增长字段,验证是否已经可以互相同步即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值