开发者社区> miles_wong> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

mysql并行复制

简介: 并行复制 社区版5.6中新增 并行是指从库多线程apply binlog 库级别并行应用binlog,同一个库数据更改还是串行的(5.7版并行复制基于事务组) 设置 set global slave_parallel_workers=10;设置sq...
+关注继续查看
  • 并行复制

    • 社区版5.6中新增
    • 并行是指从库多线程apply binlog
    • 库级别并行应用binlog,同一个库数据更改还是串行的(5.7版并行复制基于事务组)

    设置

set global slave_parallel_workers=10;设置sql线程数为10

步骤:

#从库
mysql> show variables like '%slave_par%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| slave_parallel_workers | 0     |#关闭状态
+------------------------+-------+
1 row in set (0.00 sec)

mysql> set global slave_parallel_workers=10;
Query OK, 0 rows affected (0.00 sec)

#查看线程,SQL线程数量并没有改变,因为没有重新启动slave
mysql> show processlist\G
*************************** 1. row ***************************
     Id: 15
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 59458
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 16
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 59550
  State: Slave has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
*************************** 3. row ***************************
     Id: 17
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: init
   Info: show processlist
3 rows in set (0.00 sec)

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql> show processlist;
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
| Id | User        | Host      | db   | Command | Time | State                                                                       | Info             |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
| 17 | root        | localhost | NULL | Query   |    0 | init                                                                        | show processlist |
| 18 | system user |           | NULL | Connect |    8 | Waiting for master to send event                                            | NULL             |
| 19 | system user |           | NULL | Connect |    8 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL             |
| 20 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 21 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 22 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 23 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 24 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 25 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 26 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 27 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 28 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
| 29 | system user |           | NULL | Connect |    8 | Waiting for an event from Coordinator                                       | NULL             |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
13 rows in set (0.00 sec)

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

相关文章
MySQL并行复制的深入浅出
一、并行复制的背景 首先,为什么会有并行复制这个概念呢?1. DBA都应该知道,MySQL的复制是基于binlog的。 2. MySQL复制包括两部分,IO线程 和 SQL线程。 3. IO线程主要是用于拉取接收Master传递过来的binlog,并将其写入到relay log 4. SQL线程主要负责解析relay log,并应用到slave中 5. 不管怎么说,IO和SQL线程都是单线程的,然后master却是多线程的,所以难免会有延迟,为了解决这个问题,多线程应运而生了。
11792 0
MySQL GR(group replication) Single Primary
组复制是一种可用于实现容错系统的技术。复制组是一个通过消息传递相互交互的server集群。通信层提供了原子消息和完全有序信息交互等保障机制。MySQL组复制以这些功能和架构为基础,实现了基于复制协议的多主更新。
4706 0
【从入门到放弃-MySQL】数据库连接过程分析-客户端
前言 上文分析了【从入门到放弃-MySQL】数据库连接过程分析。本文我们一起来追一下客户端和服务端建联的过程。这里客户端使用JDBC8.0,在SpringBoot2.1.3下验证。 请求流程 初始化 SpringBoot2.
1108 0
memcache 主从架构 详解
repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master坏掉, slave侦测到连接断了,它会自动 listen而成为 master;而如果 slave坏掉, master也会侦测到连接断,它就会重新 listen等待新的 slave加入 首先要在已有memcache的机器上进行,如果该还没有安装memcache请看前面的文档;下面的软件都需要在master和slave都需要安装。
1058 0
MySQL优化系列(五)--数据库存储引擎(主要分析对比InnoDB和MyISAM以及讲述Mrg_Myisam分表)
MySQL优化系列(五)--数据库存储引擎(主要分析对比InnoDB和MyISAM以及讲述Mrg_Myisam分表) 之前一直是使用默认MySQL的InnoDB存储引擎,没有思考过为什么使用,也没思考过其优缺和其他数据库存储引擎。
2049 0
用了并行复制居然还有延迟
用了并行复制居然还有延迟
2264 0
关系数据库如何快速查询表的记录数
在数据库中,很多人员习惯使用SELECT COUNT(*)、SELECT COUNT(1)、SELECT COUNT(COL)来查询一个表有多少记录,对于小表,这种SQL的开销倒不是很大,但是对于大表,这种查询表记录数的做法就是一个非常消耗资源了,而且效率很差。
1859 0
+关注
miles_wong
Java核心技术 数据存储与数据库 分布式系统与计算 系统研发与运维 编程语言
87
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载