MySQL数据库半同步复制-阿里云开发者社区

开发者社区> 技术小牛人> 正文

MySQL数据库半同步复制

简介:
+关注继续查看

半同步复制,是有一个从节点或者一部分从节点与主节点之间是同步复制的,其他的从节点仍是异步复制

半同步复制是谷歌公司贡献给MySQL的一个插件,默认在MySQL中没有此插件,所以要实现主从的版同步复制需要安装此插件

1
2
rpm -ql mariadb-server| grep semi
#找到需要安装的插件,以so结尾
1
2
SHOW PLUGINS;
#查看当前支持的插件,此处也能看到myisam和innodb也是插件类型

下面开始介绍如何配置主从版同步复制:


1、创建传统的主从复制功能的mysql,请参考‘MySQL数据库主从复制’一文(http://panpangao.blog.51cto.com/10624093/1981418  )

2、在主节点安装半同步复制插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master'//格式都是固定的不可随意修改
SHOW GLOBAL VARIABLES LIKE 'rpl_semi%';    //查看主节点的半同步复制功能,此时尚未开启
SET GLOBAL rpl_semi_sync_master_enabled=ON;  //开启
 
 
SHOW GLOBAL STATUS LIKE '%rpl%';            //查看状态,关键是查看 Rpl_semi_sync_master_clients数量,此时尚未配置从节点所以是0
+--------------------------------------------+-------------+
| Variable_name                              | Value       |
+--------------------------------------------+-------------+
| Rpl_semi_sync_master_clients               | 0           |
| Rpl_semi_sync_master_net_avg_wait_time     | 0           |
| Rpl_semi_sync_master_net_wait_time         | 0           |
| Rpl_semi_sync_master_net_waits             | 0           |
| Rpl_semi_sync_master_no_times              | 0           |
| Rpl_semi_sync_master_no_tx                 | 0           |
| Rpl_semi_sync_master_status                | ON          |
| Rpl_semi_sync_master_timefunc_failures     | 0           |
| Rpl_semi_sync_master_tx_avg_wait_time      | 0           |
| Rpl_semi_sync_master_tx_wait_time          | 0           |
| Rpl_semi_sync_master_tx_waits              | 0           |
| Rpl_semi_sync_master_wait_pos_backtraverse | 0           |
| Rpl_semi_sync_master_wait_sessions         | 0           |
| Rpl_semi_sync_master_yes_tx                | 0           |
| Rpl_status                                 | AUTH_MASTER |
+--------------------------------------------+-------------+
15 rows in set (0.00 sec)


3、在从节点安装半同步复制插件

1
2
3
4
5
6
7
8
9
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave';
SET GLOBAL rpl_semi_sync_slave_enabled=ON;
SHOW GLOBAL VARIABLES LIKE 'rpl_semisync%';    
SHOW GLOBAL VARIABLES LIKE '%rpl%';           //这时从的功能是开启的
 
SHOW GLOBAL STATUS LIKE '%rpl%';   //但状态是OFF,因为从节点此时的IO线程未重启
 
STOP SLAVE IO_THREAD;
START SLAVE IO_THREAD;  //重启从的IO线程

4、测试

此时在主节点查看clients的数量就会变成1了,因为已经加入了一个从节点;

在主节点创建数据库、表,都会同步到从节点上

1
2
SHOW GLOBAL STATUS LIKE '%rpl%';  
//此时显示的信息就会有变化,主节点等待时长、平均等待时长、等待次数等信息,具体都可以从字面意思看出


本实验到此结束


本文转自  a_pan  51CTO博客,原文链接:http://blog.51cto.com/panpangao/1981515


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL数据库的主从同步实现及应用
读写分离(Read/Write Splitting)让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),从数据库处理SELECT查询操作, 在大规模高并发的系统中,读写分离是提高性能很重要的手段。
3663 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.2. 订阅
31.2. 订阅 31.2.1. 复制槽管理 订阅是逻辑复制的下游端。定义订阅的节点被称为 订阅者。 订阅定义了与另一个数据库的连接以及它想要订阅的一组发布(一个或多个)。 订阅者数据库的行为与任何其他PostgreSQL实例的行为相同, 并且可以通过定义自己的发布来用作其他数据库的发布者。
1250 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.3. 冲突
31.3. 冲突 逻辑复制的行为与普通的DML操作类似,因为即使订阅者节点本地更改了数据, 数据也将被更新。如果传入数据违反任何限制,复制将停止。 这被称为冲突。当复制UPDATE 或者DELETE操作时,丢失的数据不会产生冲突,这样的操作将被忽略。
1082 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.4. 限制
31.4. 限制 逻辑复制目前有以下限制或缺少的功能。 这些可能会在未来的版本中解决。 不复制数据库模式和DDL命令。初始模式可以使用pg_dump --schema-only 手动复制。后续的模式更改需要手动保持同步。
1027 0
双向同步助力企业快速复制异地多活
数据传输服务DTS正式推出MySQL实例间的双向同步,助力企业快速复制阿里巴巴异地多活架构。DTS已经连续4年平稳支撑阿里巴巴双11异地多活场景,并已为阿里云上万用户提供安全、可靠的数据流服务。本专题将全面解析双向同步如何助力企业快速复制异地多活,满足业务就近接入和服务高可用的业务场景。
6771 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 26 章 高可用、负载均衡和复制_26.5. 热备
26.5. 热备 26.5.1. 用户概览 26.5.2. 处理查询冲突 26.5.3. 管理员概览 26.5.4. 热备参数参考 26.5.5. 警告 术语热备用来描述服务器处于归档恢复或后备模式时连接到服务器并运行只读查询的能力。
1296 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.1. 发布
31.1. 发布 可以在任何物理复制主机上定义发布。 定义发布的节点称为发布者。 发布是从一个表或一组表中生成的一组更改,也可能被描述为更改集或复制集。 每个发布只存在于一个数据库中。 发布与模式不同,不影响表格的访问方式。
863 0
oracle数据库同步技术
在数据库同步过程中常用的同步方法: 说明: 1.建立数据库之间的关联请参考上一篇《给力--oracle 与sql同步》 2.数据库同步脚本如下: create or replace procedure prod_synchronized_data as --作者:chenab --时间:2011-01-10 --功能:原XXX系统中人事与卡信息同步到XXX管理系统中 be
1016 0
MySQL5.6同步复制新特性详解
作者:贺春阳,出处:mysqlpub.com ! 继5.5半同步复制后,5.6又对其进行了优化与改进,其中有两个地方较为重要: 1、对运维人员来说应该是一件大喜的事情,在主从切换后,在传统的方式里,你需要找到binlog和POS点,然后hangemasterto指向,而不是很有经验的运维,往往会将其找错,造成主从同步复制报错,在mysql5.6里,你无须再知道binlog和POS点,你
1063 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 26 章 高可用、负载均衡和复制
第 26 章 高可用、负载均衡和复制 目录 26.1. 不同方案的比较 26.2. 日志传送后备服务器 26.2.1. 规划 26.2.2. 后备服务器操作 26.2.3. 为后备服务器准备主控机 26.
1012 0
3320
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载