gpt4 book ai didi

mysql - Mysql Slave是否运行多个线程来读取Relay日志以同步Master的操作

转载 作者:行者123 更新时间:2023-11-29 11:44:07 25 4
gpt4 key购买 nike

我知道Mysql从机通过单线程顺序读取Master的bin-log,并将数据转储为本地中继日志。我的问题是,从属设备会使用多个线程来读取中继日志以同步操作(插入、更新、删除)吗?如果不是多线程,我猜下面的场景Mysql Slave可能永远追不上Master。

假设Master有100张表,它们之间没有任何关系。所以可能有 100 个写入请求同时写入 100 个表。如果我们假设Master在1秒内完成100张表的写入,那么如果是单线程操作,Slave可能需要100秒才能完成同步。请问是吗?谢谢!

最佳答案

除非您使用 MySQL Server 5.6 或更高版本,否则,复制事件在“IO”线程从主服务器接收并写入到复制事件后,将由单个线程(“SQL”线程)顺序执行。中继日志。

然而,MySQL 5.6引入了slave_parallel_workers ,如果配置(以及多线程复制的其他先决条件)允许多个(理论上最多 1024 个)并行复制工作线程,由从属 SQL 线程控制和协调,以便可以并行复制独立数据库之间的查询。

关于mysql - Mysql Slave是否运行多个线程来读取Relay日志以同步Master的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35256926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com