mysql主从复制中的半同步复制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从复制中的半同步复制相关的知识,希望对你有一定的参考价值。

实验mysql借助google提供的插件,完成半同步复制模型;


物理机依然是win7系统,虚拟机为centos7;

主节点:192.168.255.2

从节点:192.168.255.3


先配置为主从复制模型:

在主节点:

]# vim /etc/my.cnf

技术分享


从节点:

]# vim /etc/my.cnf

技术分享


启动两节点的myslq服务:

]# systemctl start mariadb.service


在主节点:

配置有复制权限的账号:

> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘repluser‘@‘192.168.255.%‘ IDENTIFIED BY ‘replpass‘;

> FLUSH PRIVILEGES;


注意:如果从服务器也打算创建这个有复制权限的账号,要先启用主从设置后,再执行此命令:


查看二进制日志事务的位置:

技术分享


在从节点:

设置同步位置:

> CHANGE MASTER TO MASTER_HOST=‘192.168.255.2‘,MASTER_USER=‘repluser‘,MASTER_PASSWORD=‘replpass‘,MASTER_LOG_FILE=‘master-bin.000003‘,MASTER_LOG_POS=499;


主从复制配置完成;


分别在主从节点上安装相应的插件:


在主节点:

> INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.so‘;

技术分享


启用为半同步的主节点:

> SET GLOBAL rpl_semi_sync_master_enabled=1;



从节点:

安装从节点插件:

> INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so‘;

技术分享


启用为半同步从节点

> SET GLOBAL rpl_semi_sync_slave_enabled=on;


启动从节点同步:

> START SLAVE;

确保从节点的线程正常启动:

技术分享


此时,mysql主从复制的半同步配置完成;可演示验证;


在主节点:

创建新库后并查看相关参数值:

技术分享

其中Rpl_semi_sync_master_clients:对于当前主节点,有多少个半同步节点;值为1表示有一个半同步节点;


从节点查看:

技术分享

以上演示的就是半同步复制的配置过程。


以上是关于mysql主从复制中的半同步复制的主要内容,如果未能解决你的问题,请参考以下文章

基于MySQL实现数据库的半同步主从复制

Mariadb的半同步复制

Mysql 半同步复制

MySQL的半同步复制

mysql的半同步复制

MySQL数据库在线热备(半同步复制)