mysql 并行同步原理图如上。

Enhanced Multi-Threaded Slave配置
要开启enhanced multi-threaded slave其实很简单,只需根据如下设置:

slave

slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON

并行复制监控

在配置完成后,performance_schema mysql 的性能视图表,增加了以下表,
方便进行主从同步的性能监控。

root@slave: (performance_schema)>show tables like ‘replication%’;
+———————————————+
| Tables_in_performance_schema (replication%) |
+———————————————+
| replication_applier_configuration |
| replication_applier_status |
| replication_applier_status_by_coordinator |
| replication_applier_status_by_worker |
| replication_connection_configuration |
| replication_connection_status |
| replication_group_member_stats |
| replication_group_members |
+———————————————+
8 rows in set (0.01 sec)

参数优化说明:

slave

slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=4

master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON

slave_parallel_workers
若将slave_parallel_workers设置为0,则MySQL 5.7退化为原单线程复制,
但将slave_parallel_workers设置为1,则SQL线程功能转化为coordinator线程,
但是只有1个worker线程进行回放,也是单线程复制。然而,这两种性能却又有一些的区别,因为多了一次coordinator线程的转发,
因此slave_parallel_workers=1的性能反而比0还要差,经测试还有20%左右的性能下降,

master_info_repository ,relay_log_info_repository
两个参数的值有2种设置类型: file,table,

将参数master_info_repostitory设置为TABLE,这样性能可以有50%~80%的提升。

当设置为table 后,之前的文件:
master.info
relay-log.info 将被删除消失。
代之的是两个表,可以在表中进行查询相关信息。。
mysql.slave_master_info
mysql.slave_relay_log_info

root@slave: (test)>select * from mysql.slave_master_info\G
***************** 1. row *****************
Number_of_lines: 25
Master_log_name: mysql-bin.000022
Master_log_pos: 3901814
Host: 10.20.0.11
User_name: repl
User_password: 123456
Port: 3001
Connect_retry: 60
Enabled_ssl: 0
Ssl_ca:
Ssl_capath:
Ssl_cert:
Ssl_cipher:
Ssl_key:
Ssl_verify_server_cert: 0
Heartbeat: 30
Bind:
Ignored_server_ids: 0
Uuid: 403d88ce-f9d6-11e7-a86f-0050563dd912
Retry_count: 86400
Ssl_crl:
Ssl_crlpath:
Enabled_auto_position: 0
Channel_name:
Tls_version:
1 row in set (0.01 sec)

root@slave: (test)>select * from mysql.slave_relay_log_info\G
***************** 1. row *****************
Number_of_lines: 7
Relay_log_name: /opt/data/mysql/mysql-relay-bin.000002
Relay_log_pos: 3902791
Master_log_name: mysql-bin.000022
Master_log_pos: 3902625
Sql_delay: 0
Number_of_workers: 4
Id: 1
Channel_name:
1 row in set (0.15 sec)

2表字段说明请看URL: https://blog.csdn.net/xxj123go/article/details/72828883

MySQL 5.7 并行复制参数优化相关推荐

  1. [inside]MySQL 5.7 并行复制实现原理与调优

    MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正&quo ...

  2. MySQL 5.7 并行复制实现原理与调优

    转载:http://www.innomysql.net/article/16317.html Contents 1 MySQL 5.7并行复制时代 2 MySQL 5.6并行复制架构 3 MySQL ...

  3. mysql 多线程并行复制_【MySQL】开启并行复制

    [MySQL]开启并行复制 一.介绍 在官方的 5.6 版本之前,MySQL 只支持单线程复制,由此在主库并发高.TPS 高时就会出现严重的主备延迟问题. 如果备库执行日志的速度持续低于主库生成日志的 ...

  4. mysql 5.6 并行复制_MySQL 5.6并行复制架构

    诚然,MySQL 5.6版本也支持所谓的并行复制,但是其并行只是基于schema的,也就是基于库的.如果用户的MySQL数据库实例中存在多个schema,对于从机复制的速度的确可以有比较大的帮助.My ...

  5. 阿里RDS开发专家解析MySQL各版本并行复制

    MySQL并行复制已经是老生常谈,我从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲地分享.现在再提这个话题有点"炒冷饭"的感觉.然而,又把它拎出来谈,是因为有些同学 ...

  6. 谈谈MySQL的WriteSet并行复制

    [历史背景] 岁月更迭中我已经从事MySQL-DBA这个工作三个年头,见证MySQL从"基本可用","边缘系统可以用MySQL","哦操!你怎么不用M ...

  7. mysql writeset_浅析MySQL的WriteSet并行复制

    [历史背景] 岁月更迭中我已经从事mysql-dba这个工作三个年头,见证mysql从"基本可用","边缘系统可以用mysql","哦操!你怎么不用m ...

  8. mysql在线开启并行复制_mysql 5.7开启并行复制

    开启多线程复制,默认关键的参数有两个: mysql> show variables like 'slave_parallel_%'; +------------------------+---- ...

  9. mysql java配置文件_Mysql配置文件参数优化

    Mysql默认安装后,如果是小型项目基本不用更改什么配置,如果是中大型项目,那么需要一些基本的优化,以达到性能最大化. 以下都是针对my.ini配置文件的修改,是我工作中经常碰到的问题,及解决办法: ...

最新文章

  1. Java后端:Linux的基本使用学习笔记
  2. 金科院男生大学4年赚50万 毕业前又接500万订单
  3. [Linux]Centos 6.3 下源代码安装gcc 4.8.2/4.9.2
  4. ThinkPHP框架 _ 学习11
  5. 串的复制——串传送指令MOVSB和方向标志位DF和CLD和REP
  6. 决策树系列(二)——剪枝
  7. 使用Div自动换行一事
  8. Flutter关于简单的吸顶通讯录制作
  9. 阿里巴巴优酷视频增强和超分辨率挑战赛-持续更新
  10. 机器学习基石(笔记)
  11. php手机注册和微信登录统一,微信登录和公众号授权登录开发逻辑详解
  12. 打游戏买什么手机好?rog3性能强 网速稳!
  13. 采用numpy快速将两个矩阵或数组合并成一个数组和行列转置
  14. 数据类型和运算符(使用Python的AI编程2部1单元2课)
  15. django -- url映射
  16. CSGO 详细控制台指令(更新中)
  17. SI信号仿真及软件 HyperLynx
  18. 一、webpack的全局安装和局部安装以及使用
  19. mysql学校教务系统_java servlet+mysql开发的学校官网+教务系统+图书馆系统,功能完善,供参考学习...
  20. 爱立信软件测试英语笔试题,爱立信测试平台(dallas)开发岗位offer咨询

热门文章

  1. 视图、存储函数、存储过程、触发器:MySQL系列之五
  2. JavaScript高级程序设计之基本概念篇
  3. Linux学习笔记4-CentOS7中redis3.2.9安装教程
  4. docker 容器日志集中 ELK + filebeat
  5. Linq to SQL只支持SQL Server(所选对象使用不支持的数据提供程序)
  6. Arcgis Server发布服务
  7. 15个热门的编程趋势及15个逐步走向衰落的编程方向
  8. 零基础学习java------day7------面向对象
  9. js校验文本框只能输入数字(包括小数)
  10. Ctrl+Alt+F1~F6