Mysql 5.7 主从复制的多线程复制配置方式

数据库复制的主要性能问题就是数据延时

为了优化复制性能,Mysql 5.6 引入了 “多线程复制” 这个新功能

但 5.6 中的每个线程只能处理一个数据库,所以如果只有一个数据库,或者绝大多数写操作都是集中在某一个数据库的,那么这个“多线程复制”就不能充分发挥作用了

Mysql 5.7 对 “多线程复制” 进行了改善,可以按照逻辑时钟的方式来分配线程,大大提高了复制性能

下面看一下在5.7中如何配置 “多线程复制”

01

对两个 mysql 实例配置好主从复制

配置过程可以参考以前的一篇文章

配置成功后,在从库上使用 show processlist 查看现在的状态

可以看到只有一个复制线程在运行

02

在从库上停止复制

mysql> stop slave;

03

设置并发同步类型为逻辑时钟方式

先看下现在 slave 的并发类型,通过变量 slave_parallel_type 的值来获得,这个变量用来决定如何使用多线程复制

mysql> show variables like 'slave_parallel_type';

默认是datebase,每个线程只能处理一个数据库

配置成基于逻辑时钟的方式

mysql> set global slave_parallel_type='logical_clock';

04

设置复制线程的数量

先看下当前的并发数量,通过变量 slave_parallel_workers 的值来获得,这个变量用来决定并发处理的线程数

mysql> show variables like 'slave_parallel_workers';

现在是 0,我们把他改成 4

mysql> set global slave_parallel_workers=4;

05

启动复制

mysql> start slave;

06

验证配置结果

mysql> show processlist;

可以看到已经有4个IO线程了,配置完成

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2016-08-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

[大数据之Sqoop] —— Sqoop初探

Sqoop是一款用于把关系型数据库中的数据导入到hdfs中或者hive中的工具,当然也支持把数据从hdfs或者hive导入到关系型数据库中。 Sqoop也...

27890
来自专栏编程直播室

Eclipse 报错 “Dynamic Web Module 3.1 requires Java 1.7 or newer”第一步第二步第三步其他问题

20780
来自专栏算法修养

Flask 学习篇一: 搭建Python虚拟环境,安装flask,并设计RESTful API。

前些日子,老师给我看了这本书,于是便开始了Flask的学习 ? GitHub上的大神,于是我也在GitHub上建了一个Flask的项目。 有兴趣可以看看: ht...

66080
来自专栏difcareer的技术笔记

CrashDumpInstallSym.sh

在breakpad: Native crash 日志收集工具中,详细介绍了breadpad的使用流程,但是在实际操作过程中,发现有如下问题需要解决:

10650
来自专栏C/C++基础

Linux命令(5)——shutdown命令

使用shutdown命令时,在系统关机前,可以通知所有登录者系统将要关闭。此时login指令会被冻结,新用户将不能再登录,这是推荐使用的安全关机方式。关机之前,...

12440
来自专栏互联网高可用架构

初识专业的分布式多场景发号器Vesta

12530
来自专栏FreeBuf

一款针对WordPress网站的渗透测试框架

今天给大家介绍的是一款名叫Wordpress Exploit Framework的Ruby框架,研究人员可利用该框架来研发或使用其自带某开来对由WordPres...

13400
来自专栏木子昭的博客

Ubuntu运行GitHub获取的Django项目准备工作从GitHub克隆项目安装数据库(要设置密码)搭建python环境修改项目配置文件将测试数据库导入到本地新建的数据库中运行项目

经常在github看到一些优秀的Django项目,但Django的运行需要大量的依赖,这里分享一下,从github获取Django项目,并在本地运行项目的小经...

29530
来自专栏Python

windows下命令行模式中cd命令无效的原因

当我们执行cmd 想切换当前工作目录时,会发现windows下命令行模式中cd命令没有生效,到底是什么原因呢? ? 例如: 当我们想切换到 D:\MySql\m...

23780
来自专栏不想当开发的产品不是好测试

启动jenkins服务错误

背景 重新安装了jenkins,需要启动,使用的yum install安装的,启动jenkins的话只需要执行service jenkins start,但出了...

37780

扫码关注云+社区

领取腾讯云代金券