功能介绍
官方 MySQL 5.6 以下的版本在 slave 节点进行回放,master 节点同步 binlog 时,均为单线程模式,5.6 及之后的版本变更为并行模式。但官方的并行是基于 database 和 logical clock,并行粒度太大,导致很多情况下并行效果不理想。
腾讯云 TXSQL 内核团队针对并行复制功能进行了优化,支持按 table 并行,相当于将其粒度拆分至表,提升了并行度,从而减少主从延迟。
支持版本
- 内核版本 MySQL 8.0 20201230 及以上
- 内核版本 MySQL 5.7 20180530 及以上
- 内核版本 MySQL 5.6 20170830 及以上
适用场景
该功能主要针对部分负载能提升 slave 机重放 binlog 速度,减少主从的 delay。
使用说明
MySQL 5.6、5.7 版本可通过将参数 slave_parallel_type 设置为新增加的值 TABLE 来打开这个功能,MySQL 8.0 版本不支持 TABLE 模式。
另外 information_schema 下新增加了状态表 cdb_slave_thread_status,用以展示状态信息。
参数名 | 动态 | 类型 | 默认 | 参数值范围 | 说明 |
---|
slave_parallel_type | YES | char* | SCHEMA | SCHEMA/TABLE | 从机并行复制级别:SCHEMA 为对象级别复制,不同对象的复制事件可以并行执行。TABLE 为表级别复制,不同表的复制事件可以并行执行。 |
参数名 | 动态 | 类型 | 默认 | 参数值范围 | 说明 |
---|
slave_parallel_type | YES | char* | LOGICAL_CLOCK | DATABASE/TABLE/LOGICAL_CLOCK | 从机并行复制级别:DATABASE 为库级别的复制,不同数据库的复制事件可并行完成。TABLE 为表级别复制,不同表的复制事件可以并行执行。LOGICAL_CLOCK 为逻辑时钟级别复制,在主机上属于相同逻辑时钟的事件可并发执行。 |
参数名 | 动态 | 类型 | 默认 | 参数值范围 | 说明 |
---|
slave_parallel_type | YES | char* | LOGICAL_CLOCK | DATABASE/LOGICAL_CLOCK | 从机并行复制级别:DATABASE 为库级别的复制,不同数据库的复制事件可并行完成。LOGICAL_CLOCK 为逻辑时钟级别复制,在主机上属于相同逻辑时钟的事件可并发执行。 |
本页内容是否解决了您的问题?