文档章节

MySQL主从复制——半同步复制方式

LoSingSang
 LoSingSang
发布于 01/02 11:03
字数 490
阅读 9
收藏 0

如需转载请注明出处https://my.oschina.net/feistel/blog/2995878

 

目的:对于异步方式当主库提交完事务时发生宕机,没有将数据发送给从库,导致数据不匹配的问题。
半同步方式流程:从库接收到binlog后写入自己的relay log中再通知主库,此时主库才提交事务并返回给客户端。

 

我丑 话说在前头:

192.168.1.116 主masterA Windows MySQL8.0
192.168.1.200 备库B,VMUbuntu18 MySQL8.0

shell代表Ubuntu终端
cmd代表Windows终端

----------------------------------------------------------------------------------------------------------------

1

先无压力操作:MySQL主从复制——异步方式

----------------------------------------------------------------------------------------------------------------

2

安装插件:

动态链接库的区别:
windows插件后缀名用dll;
Ubuntu的用so

A mysql>
install plugin rpl_semi_sync_master soname 'semisync_master.dll';
set global rpl_semi_sync_master_enabled=on;
#可以写入配置文件my.ini(windows)
#rpl_semi_sync_master_enabled=on

show variables like '%semi%';
show plugins;

B mysql>
install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
set global rpl_semi_sync_slave_enabled=on;
#可以写入配置文件mysqld.cnf(Ubuntu)
#rpl_semi_sync_master_enabled=on

show variables like '%semi%';
show plugins;

----------------------------------------------------------------------------------------------------------------

3

重启从库B的IO线程

B mysql>
stop slave io_thread;
start slave io_thread;

A mysql>
show global status like '%semi%';
看到
+--------------------------------------------+-------+
| Variable_name                              | Value |
+--------------------------------------------+-------+
| Rpl_semi_sync_master_clients               | 1     |1个连接
| Rpl_semi_sync_master_status                | ON    |开启半同步状态
| Rpl_semi_sync_master_yes_tx                | 1     |表示接收到事务回复的次数
+--------------------------------------------+-------+
表示成功

----------------------------------------------------------------------------------------------------------------

4

半同步 转 异步:
B mysql>stop slave io_thread;
关闭从库后,主库超时rpl_semi_sync_master_timeout,自动转为异步方式。

A mysql>show variables like 'rpl_semi_sync_master_timeout';
+------------------------------+-------+
| Variable_name                | Value |
+------------------------------+-------+
| rpl_semi_sync_master_timeout | 10000 |
+------------------------------+-------+
默认为10s。

需要保证主从一致,可以把该参数设置得很大:
A mysql>set global rpl_semi_sync_master_timeout=100000;
设置为100s。也可以写入配置文件持久修改。

异步 转 半同步:
B mysql>
start slave io_thread;

----------------------------------------------------------------------------------------------------------------

至此,共勉,如需转载请注明出处https://my.oschina.net/feistel/blog/2995878

© 著作权归作者所有

共有 人打赏支持
LoSingSang
粉丝 3
博文 53
码字总数 16173
作品 0
深圳
程序员
私信 提问
MySQL Replication 主从复制全方位解决方案

原文:MySQL Replication 主从复制全方位解决方案 1.1 主从复制基础概念     在了解主从复制之前必须要了解的就是数据库的二进制日志(binlog),主从复制架构大多基于二进制日志进行,二进制...

杰克.陈
2018/01/03
0
0
Mysql数据库主从心得整理(转)

管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行...

张锦飞
2018/06/07
0
0
Mysql数据库主从心得整理

管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行...

1362802538
2016/12/02
301
0
mysql 主从复制的 工作原理

mysql 主从复制原理 主从形式 mysql主从复制 灵活 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的; 多主一从---5.7开始支持 联级复制--- 用途及条件 mysql主从复制...

我不是九爷
2018/07/13
0
0
MySQL slave状态之Seconds_Behind_Master

在MySQL的主从环境中,我们可以通过在slave上执行show slave status来查看slave的一些状态信息,其中有一个比较重要的参数SecondsBehindMaster。那么你是否明白它的真正含义以及它是怎么计算...

SANSOM
2013/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
0
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
2
0
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部