gpt4 book ai didi

MySQL/MariaDB 复制 : Can I interrupt the process?

转载 作者:行者123 更新时间:2023-11-29 12:05:19 24 4
gpt4 key购买 nike

我在这里有一个复制设置,其中数据从固定主机复制到笔记本。

复制分两步进行:复制中继文件(速度相当快)和将中继日志事件应用到数据库(速度往往很慢)。

现在我的问题是:假设从站已从主站获取了所有数据,但“导入过程”仍在运行。我可以安全地关闭从属主机并恢复复制中仍待处理的部分,而不以任何方式干扰该过程吗?

因此,我连接到主机,说“停止从属”,关闭笔记本电脑,回家,然后再次“启动从属”,而无需连接到主机。我可以期望从属实例再次恢复导入过程吗?

最佳答案

您的笔记本电脑永远是另一台计算机的从属计算机,对吗?你每天晚上都会断开与Master的网络连接吗?

从站上有两个线程。 I/O 线程负责从 Master 上的 binlog 中提取数据,并将这些内容放入 Slave 上的“中继日志”中。如果(当)网络消失时,该线程会重复重试。有些设置规定了最终放弃的频率和时间。考虑调整它们。

SQL 线程负责应用中继日志中的任何内容。实际上,SQL 线程可以一直运行。无事可做的时候“无事可做”还是蛮幸福的。

I/O 线程根据需要创建新的中继日志文件; SQL 线程在完成操作后删除日志。

这些年来我和几十个奴隶打过交道;我不记得有任何网络或电源故障问题。从本质上讲,您每天晚上至少会造成一次网络故障。如果您还要关闭笔记本电脑的电源,请妥善处理。 InnoDB(但不​​是 MyISAM)可以很好地从电源故障中恢复,但不要碰运气。

STOP/START SLAVE 似乎没有必要,但不会有什么坏处。事情应该“恢复”并最终“ catch ”。

您的引述谈到了 Master 清除二进制日志的情况。嗯,这里有一个问题。 Master 不会跟踪 Slave 的存在,因此它无法判断您的 Slave 未连接的时间是否比 Master 保留二进制日志的时间长。

请参阅expires_logs_days。建议您将其设置为高于您可能休假的天数。

我对 Slave 的体验早于 GTID、Galera 等;你会使用这样的吗?

关于MySQL/MariaDB 复制 : Can I interrupt the process?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31583580/

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