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-x86_64/lib/plugin/semisync_slave.so

安装软件:

install plugin rpl_semi_sync_master SONAME ‘semisync_master.so‘;
set global rpl_semi_sync_master_timeout=60000;

install plugin rpl_semi_sync_slave SONAME ‘semisync_slave.so‘;
select * from mysql.plugin;

开启功能
主库

set global rpl_semi_sync_master_enabled=on;

从库

set global rpl_semi_sync_slave_enabled=on;
stop slave io_thread;start slave;

主库:

show status like ‘%semi%‘;

从库io_thread正常情况下,复制延迟对于半同步没影响。

配置文件增加选项:

rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=60000

rpl_semi_sync_slave_enabled=1

注意:
1.去掉半同步复制,半同步复制会造成一些语句不适用,影响主从进程。
2.主库不要打开rpl_semi_sync_slave_enabled,从库不要打开rpl_semi_sync_master_enabled,要正确使用对应的角色参数。

原文地址:http://blog.51cto.com/liuzhanbin/2337514

时间: 2024-11-10 07:37:44

MySQL 5.6 搭建半同步复制的相关文章

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主从复制中的半同步复制

实验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,R

深入MySQL复制(三):半同步复制

1.半同步复制 半同步复制官方手册:https://dev.mysql.com/doc/refman/5.7/en/replication-semisync.html 默认情况下,MySQL的复制是异步的,master将新生成的binlog发送给各slave后,无需等待slave的ack回复(slave将接收到的binlog写进relay log后才会回复ack),直接就认为这次DDL/DML成功了. 半同步复制(semi-synchronous replication)是指master在将新生

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和其

数据库 之 Mysql半同步复制

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

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

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

(5.5)mysql高可用系列——MySQL半同步复制(实践)

[1]配置my.cnf [1.1]通用复制配置 #replication_new log_bin=/mysql/log/3306/mysql-bin #开启binlog log_bin_index=/mysql/log/3306/mysql-bin.index binlog_format=row binlog_rows_query_log_events=on max_binlog_size=2048 bind-address=0.0.0.0 server_id=2013306 expire_lo