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表示有一个半同步节点;

从节点查看:

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

时间: 2024-08-03 11:16:30

mysql主从复制中的半同步复制的相关文章

MySQL多实例实现半同步复制

MySQL多实例实现半同步复制 主库1:192.168.40.150 主库2:192.168.40.161 从库(2个MySQL实例):192.168.40.162 一:分别在192.168.40.161和192.168.40.150使用[show master status;]记录当前的复制位置 如下所示 mysql> show master status; +--------------+----------+--------------+------------------+-------

MySQL学习笔记12半同步复制

1.1.1. 相关概念 默认情况下,MySQL使用异步复制,即master上的事务执行与slave上的复制操作不需要同步,master不需要等待slave上的复制线程将Binary Log接收完毕即可执行其它事务. 半同步复制时,master上的事务执行与slave上的复制操作需要在某个步骤上进行同步,master需要等待slave上的复制线程接收完毕Binary Log. 异步复制的工作效率比较高,但是在特定条件下,有可能造成master和slave的数据不一致.半同步复制可以降低数据不一致的

mysql主从和mysql主主和半同步复制

一.准备(主从都需要配置):     yum -y install mysql mysql-server #安装mysql   yum -y install ntpdate #安装时间同步   echo '*/1 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null' >>/var/spool/cron/root #配置网络时间同步   service mysqld start #启动服务   chkconfig --add 

MySQL 5.6 搭建半同步复制

确定是否可以动态安装插件 show variables like '%have_dynamic_loading%'; ls /usr/local/mysql-5.6.38-linux-glibc2.12-x86_64/lib/plugin/semisync_* /usr/local/mysql-5.6.38-linux-glibc2.12-x86_64/lib/plugin/semisync_master.so /usr/local/mysql-5.6.38-linux-glibc2.12-x8

MySQL基于SSL的主从复制、半同步复制

(一)主从复制的架构图 1.在主数据库上,每执行一个有可能引起数据库发生改变的的语句,都会记录到二进制日志文件中,并把它们保存为事件. 2.每保存一个事件,我们就通过mysql的服务器3306端口发送给另外一台服务器 3.另外一台服务器把这个事件接收下来,接收的时候先保存到本地的中继日志里面 4.然后,mysql从中继日志文件里读一个事件,然后保存到数据文件 (二)一主多从 半同步架构图 1.Master和Slave-1在同一个机房 2.Slave-2和Slave-3在其它机房 3.半同步指的是

MariaDB(MySQL):半同步复制+ssl+复制过滤

一.半同步复制   1.mysql的复制 通过记录主服务器的二进制日志,并在从服务器上进行重放(replay)完成复制,默认都是异步进行的. 2.半同步复制 半同步复制是google贡献给MySQL的一个补丁,在MySQL 5.5之后就支持了,MariaDB都是支持的. MySQL的插件,一般在MySQL安装目录下; 半同步复制插件默认没有启用,需要自己安装,/usr/local/mysql/lib/plugin可以看到semisync_master.so和semisync_slave.so和其

MHA-结合MySQL半同步复制高可用集群(Centos7)

目录 一.理论概述 本案例部署思路 二.环境 三.部署 部署MHA 部署二进制包MySQL及部署主从复制 部署半同步复制 配置MHA MHA测试 部署lvs+keepalived(lvs1,lvs2) 四.总结 一.理论概述 在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. 优点 缺点 由perl语言开发的开源工具 需要编写脚本或利用第三方工具来实现Vip的配置 支持

MySQL 半同步复制模式说明及配置示例 - 运维小结

MySQL主从复制包括异步模式.半同步模式.GTID模式以及多源复制模式,默认是异步模式 (如之前详细介绍的mysql主从复制).所谓异步模式指的是MySQL 主服务器上I/O thread 线程将二进制日志写入binlog文件之后就返回客户端结果,不会考虑二进制日志是否完整传输到从服务器以及是否完整存放到从服务器上的relay日志中,这种模式一旦主服务(器)宕机,数据就可能会发生丢失. 异步模式是一种基于偏移量的主从复制,实现原理是: 主库开启binlog功能并授权从库连接主库,从库通过cha

数据库 之 Mysql半同步复制

1  概述 半同步复制指一部分主机同步复制,另一部分主机异步复制 同步的逻辑是用户写操作到主服务器,主服务记录到二进制文件后,主服务会同步发送给从服务器,从服务器响应数据同步后,主服务器才会把响应发给用户.这种方式对IO有强依赖. mysql是高度插件化的,半同步复制插件是google共献给mysql的插件.装有该插件的服务器才能实现同步复制.半同步复制的插件在主节点和从节点是不一样的,各自分别使用专有插件,当插件配置启用后,从节点将同步的方式来同步主服务器数据,其他没有配置的插件的机器为异步同