mysql半同步开启
开启半同步复制
#在有的高可用架构下,master和slave需同时启动,以便在切换后能继续使用半同步复制
/etc/my.cnf
plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
rpl-semi-sync-master-enabled =
rpl-semi-sync-slave-enabled =
查看半同步是否在运行
master:
mysql> show status like 'Rpl_semi_sync_master_status';
+-----------------------------+-------+
| Variable_name | Value |
+-----------------------------+-------+
| Rpl_semi_sync_master_status | ON |
+-----------------------------+-------+
slave:
mysql> show status like 'Rpl_semi_sync_slave_status';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| Rpl_semi_sync_slave_status | ON |
+----------------------------+-------+
重启slave上的IO线程使半同步生效
mysql> stop slave io_thread;
mysql> start slave io_thread;
#如果没有重启,则默认还是异步复制,重启后,slave会在master上注册为半同步复制的slave角色。
半同步复制测试
master:
mysql> create database db;
mysql> use db
Database changed
mysql> create table t1(id int);
mysql> insert into t1 values();
mysql> select * from t1;
+------+| id |+------+| |+------+ row in set (0.00 sec)
slave:
mysql> select * from db.t1;
+------+| id |+------+| |+------+ row in set (0.00 sec) #可以看到数据很快同步到了从库上,下面关闭io_thread测试
slave:
mysql> stop slave io_thread;
Query OK, rows affected (0.00 sec)
master:
mysql> insert into t1 values(); #此处有一个10s的超时等待时间,超时后转为异步插入
Query OK, row affected (10.11 sec)
mysql> show status like 'Rpl_semi_sync_master_status'; #半同步已失效
+-----------------------------+-------+| Variable_name | Value |
+-----------------------------+-------+| Rpl_semi_sync_master_status | OFF |
+-----------------------------+-------+
slave:
mysql> show status like 'Rpl_semi_sync_slave_status'; #从库的半同步也失效
+----------------------------+-------+| Variable_name | Value |
+----------------------------+-------+| Rpl_semi_sync_slave_status | OFF |
+----------------------------+-------+ row in set (0.01 sec)
slave:
mysql> start slave io_thread; #从库开启io线程
Query OK, rows affected (0.00 sec)
master:
mysql> show status like 'Rpl_semi_sync_master_status'; #又重新转为半同步复制
+-----------------------------+-------+| Variable_name | Value |
+-----------------------------+-------+| Rpl_semi_sync_master_status | ON |
+-----------------------------+-------+ row in set (0.00 sec)
slave:
mysql> select * from db.t1; #从库上数据已同步
+------+| id |+------+| || |+------+ rows in set (0.00 sec)
mysql半同步开启的更多相关文章
- mysql半同步复制问题排查
1.问题背景 默认情况下,线上的mysql复制都是异步复制,因此在极端情况下,主备切换时,会有一定的概率备库比主库数据少,因此切换后,我们会通过工具进行回滚回补,确保数据不丢失.半同步复制则 ...
- MySQL半同步复制
从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认的复制即是 ...
- Mysql半同步复制模式说明及配置示例 - 运维小结
MySQL主从复制包括异步模式.半同步模式.GTID模式以及多源复制模式,默认是异步模式 (如之前详细介绍的mysql主从复制).所谓异步模式指的是MySQL 主服务器上I/O thread 线程将二 ...
- MySQL半同步安装以及参数
MySQL半同步安装以及参数 基于MySQL5.5 官档地址: Semisynchronous Replication Administrative Interface https://dev.mys ...
- 安装MySQL半同步复制
一.简介 从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认 ...
- MySQL半同步复制搭建
默认情况下,MySQL 5.5/5.6/5.7和MariaDB 10.0/10.1的复制是异步的,异步复制可以提供最佳性能,主库把binlog日志发送给从库,这一动作就结束了,并不会验证从库是否接收完 ...
- (5.5)mysql高可用系列——MySQL半同步复制(实践)
关键词,mysql半同步复制 [0]实验环境 操作系统:CentOS linux 7.5 数据库版本:5.7.24 数据库架构:主从复制,主库用于生产,从库用于数据容灾和主库备机,采用默认传统的异步复 ...
- MySQL半同步复制源码解析
今天 DBA 同事问了一个问题,MySQL在半同步复制的场景下,当关闭从节点时使得从节点的数量 < rpl_semi_sync_master_wait_for_slave_count时,show ...
- MySQL半同步复制的数据一致性探讨微信后台团队实践【转】
MySQL是一个RDBMS(关系型数据库管理系统),由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.由于其体积小.速度快.拥有成本低,尤其是开放源码这一特点,广受各大企业欢迎,包括 ...
随机推荐
- hihoCoder week20 线段树的区间修改
区间修改 区间查询 最后一场比赛前的无可救药的热身 #include <bits/stdc++.h> using namespace std; #define mid ((l+r)/2) ...
- Linux邮件服务入门
前言 想定期查询天气并提示我,很容易想到了创建定时任务然后给我自己发邮件,进而学习了linux如何发邮件,下面就开始吧. 开启邮件服务(Ubuntu) 首先执行mail命令看有没有安装,没有的话会提示 ...
- HIHOcoder 1403 后缀数组一·重复旋律
思路 后缀数组的板子题,注意后缀数组的rank[]数组是通过位置找到对应排名的,sa[]是通过排名找到位置的,height[i]记录的是sa[i]和sa[i+1]之间的lcp 不要写错了就行了 代码 ...
- 【ASP.NET】The CodeDom provider type “Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider” could not be located
一般是asp.net的项目在启动的时候会报这个错误. 页面显示成: 我推测的原因是由于project的build的输出属性改了, 非bin目录下, 导致这个问题. 解决这个问题的方案有两个: 1. 改 ...
- 杭电hdu-6168 Numbers
这一题是考察排序与后续数据处理的题.我是用了map来给“和”做标记,把确定为a数组内数的数两两求和.给这些和标记,这样就可以很好的处理带有重复数的数据了~~ 贴个碼: #include<iost ...
- RequestMethod用法小结和注意事项
本文为博主原创,未经允许不得转载: RequestMethod为在@RequestMapping注解中使用的一个属性,用来标识请求的方法类型,可参考@RequestMapping源码: @Target ...
- XMatch: 您的部门管理助手
本博客为XMatch项目宣传博客. XMatch: 您的部门管理助手 目录 一.产品概述 二.产品功能 三.产品的创新特色 四.推广方案 五.宣传图 一.产品概述 当前社团的各方面管理工作主要都由手工 ...
- pyqt5 窗口无边框和透明
https://blog.csdn.net/FanMLei/article/details/79433229 按钮圆形方法属性border-radius:30px; QScrollArea 无法滚动用 ...
- 搭建 FTP 文件服务
1.安装并启动 FTP 服务 2.配置 FTP 权限 3.准备域名和证书 4.访问 FTP 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsft ...
- vs项目的属性页面总结
本文主要针对vs中属性页面的相关选项含义进行了总结.