gpt4 book ai didi

mysql - 热 vs 冷 mysql 模式迁移和提高速度

转载 作者:可可西里 更新时间:2023-11-01 06:38:06 27 4
gpt4 key购买 nike

我最近一直在进行冷迁移...这意味着我无法在进行迁移时从应用程序级别读取/写入数据库(维护页面)。

这样就不会因为更改结构而发生错误,而且如果负载很大,我也不希望 mysql 在迁移过程中崩溃。

我的结构是每个客户都有自己的数据库。这种方法的唯一缺点是它们可能会停机 15-45 分钟,具体取决于所做的更改数量。

我的解决方案如下:

同时运行 2 个代码副本。我有代码可以检测他们正在使用的程序版本,如果他们仍然使用旧版本,则向他们显示旧代码...如果他们使用新版本,则向他们显示新代码

唯一让我害怕的部分是,如果有人在迁移过程中进行拒绝服务攻击,我可能会遇到严重的问题。

我现在有大约 360 个数据库。

热的方法推荐吗?我只是担心它中间的拒绝服务或某种 mysql 查询错误,因为它们可能是正在进行的数据更改。我以前确实发生过一次这种情况,但幸运的是那是在我开始迁移之前。

最佳答案

只有当“新代码库”与“旧数据库版本”100% 兼容时,您的想法才可行,否则它可能会在数据库迁移过程中崩溃。此外,它要求在数据库迁移期间的任何阶段,数据库永远不会处于不一致状态(可能通过将迁移步骤包装在适当的事务中)。

如果资源允许,我会:

  • 在新的虚拟主机下安装和配置新的代码库,指向新的数据库(见下文)
  • 将“旧”站点置于只读模式
  • 在同一个数据库服务器上复制当前数据库
  • 将重复的数据库迁移到新版本
  • 将虚拟主机切换到新的代码库(确保解除维护模式:)
  • 让新版本成熟几个小时,然后丢弃旧的代码库、数据库和虚拟主机。

(您甚至可以跳过修改虚拟主机并改用符号链接(symbolic link))

关于mysql - 热 vs 冷 mysql 模式迁移和提高速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26976384/

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