首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并行复制在5.7主程序的5.7从服务器上不工作

并行复制在5.7主程序的5.7从服务器上不工作
EN

Database Administration用户
提问于 2019-04-08 15:50:52
回答 2查看 1.4K关注 0票数 1

注意:下面是我们打开5.7副本以实现并行复制的参数:

代码语言:javascript
复制
slave_preserve_commit_order = 1
slave_parallel_type = LOGICAL_CLOCK
slave_parallel_workers = 10
log_slave_updates = 1
backup retention enabled for 1 day on the slave

在5.7主服务器上,设置了以下参数:

代码语言:javascript
复制
binlog_order_commits = 1
binlog_group_commit_sync_delay = 50

从以下查询可以看出,只有单个线程复制正在发生:

代码语言:javascript
复制
select * from performance_schema.threads where name="thread/sql/slave_worker";

通过执行上面的查询,我们看到实际上只有一个从工作人员正在提交数据库,而对于所有其他线程,它显示了“等待协调员的事件”的状态。

想知道为什么精确的并行复制不能工作。

EN

回答 2

Database Administration用户

发布于 2019-04-09 09:48:21

考虑到您的数据库工作负载,MySQL只能使用复制实际需要的线程数。这些线程是可见的,这意味着并行执行是有效的。看看“展示PROCESSLIST”产生了什么结果。更具体地说,查看复制线程的"time“列显示了什么。

票数 1
EN

Database Administration用户

发布于 2019-04-11 08:58:22

在任何5.7实例(它是5.7主的从实例)上可以实现的并行性在很大程度上取决于工作负载。

但是,我们可以使用主服务器上的联木_组_提交_同步_延迟变量在一定程度上调整并行度。增加此变量通常会增加组中提交的事务数(在主目录的二进制日志中),从而增加从服务器上的并行事务数。

通常,在oltp事务的大多数情况下,让binlog_order_commit=1在主服务器上,而slave_preserve_commit_order=1在从服务器上是一种方法,因为提交不正常会导致从数据变得不一致。注意,要启用slave_preser_commit_order,必须在从服务器上启用二进制日志。从技术上讲,这会减慢从服务器的速度,从而影响性能,但是这是mysql和slave_preserve_commit_order的技术限制,实际上与二进制日志记录无关。人们已经将其已报告到mysql,并且它可能会在以后的版本中被删除。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/234209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档