gpt4 book ai didi

mysql - 降低 MySQL 命令/作业的优先级(添加索引/其他命令)?

转载 作者:可可西里 更新时间:2023-11-01 07:33:35 24 4
gpt4 key购买 nike

我们有一个中等规模的生产 MySQL 数据库。我们将定期运行命令,通常是通过 rails 迁移,在运行时,会导致数据库停滞。作为一个具体的例子,我们可能会为一个大表添加一个索引。

是否有任何方法可以降低 MySQL 赋予特定任务的优先级。 MySQL 本身的一种“好”?我发现了这一点,这就是问题的灵感来源:
PostgreSQL tips and tricks

由于添加索引导致工作在 DB 和 MySQL 进程中完成,因此降低 Rails 迁移进程的优先级似乎无济于事。还有其他方法可以降低优先级吗?

最佳答案

我们使用多个复制的数据库服务器来进行这样的更改。

在我们的例子中,db1 是主服务器,复制到 db2。 (db1->db2).

首先对 db2 进行更改。如果事情锁定,复制将停止,但这没关系。

将您的流量转移到 db2。任何流向 db1 的剩余流量都将复制过来,因此您不会丢失任何东西。

一旦 db1 上没有流量,将其重建为 db2 的从属 (db2->db1)。

这是一般的想法,您的停机时间很少,而且您不必通宵达旦!我们实际上有三台服务器,所以稍微复杂一点,但不多。

祝你好运。

关于mysql - 降低 MySQL 命令/作业的优先级(添加索引/其他命令)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6189439/

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