gpt4 book ai didi

MySql 复制问题

转载 作者:行者123 更新时间:2023-11-29 02:35:52 24 4
gpt4 key购买 nike

我正在考虑从独立的单个 MySql 服务器切换到 Master->Slave 复制设置(使用 2 个服务器)。目前有许多繁重的写入(插入/更新/删除)作业(用于从外部源加载新数据)每天运行数小时。这些作业会降低相应表的“读取”(选择)性能。希望复制能对这个问题有所帮助(以及备份等其他挑战)。

问题:

1)slave replication "SQL Thread"lock reads 在执行relay log的时候有没有?试图更深入地了解 SQL 的实际执行方式(在从属服务器上)。我希望从服务器上的执行更加“优化”(与在主服务器上执行的原始语句相反),因此任何潜在的锁定都是最小的。否则,master 上表现出的相同类型的“读取”性能瓶颈将蔓延到 slave。

2) 从阅读文档来看,听起来默认使用 SBR(基于语句的复制)。不确定是否将其更改为 RBR(基于行)?或“混合”。推荐哪个?我倾向于保留默认值,但真的不确定。

3) 当一些作业完成时,我们目前运行分析和优化来为执行大量删除/更新的相应表恢复文件空间。我的理解是,除非我们使用“NO_WRITE_TO_BINLOG”运行这些命令,否则这些命令将被复制到从站。不确定在进行大量更新/删除时如何影响从属表。甚至有必要将这些命令复制到从机吗?主要问题是 OPTIMIZE 特别会锁定表,在实际生产站点(和大表)上,这是一个非常大的问题。

在此先感谢您的任何指点/见解!

最佳答案

从表面上看,复制数据的唯一好处是主服务器不需要处理读取,如果您有多个从服务器,从服务器上的插入也应该更快,因为读数是分布式的。多少取决于在给定时间内执行了多少次读取。

如果这会显着加快将数据插入主服务器和从服务器的速度,那么您可能会获胜。

就锁定而言,据我所知它不会传播到从站(这也在下面的常见问题解答中说明)。我想您可以轮流优化从站,以便在任何给定时间只有一个不工作。

有用的阅读 http://dev.mysql.com/doc/refman/5.0/en/replication-faq.html

关于MySql 复制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5242047/

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