gpt4 book ai didi

php - 将 MySQL 数据库从共享主机传输到云提供商

转载 作者:行者123 更新时间:2023-11-29 10:43:59 26 4
gpt4 key购买 nike

我目前正在为我的数据库使用共享托管提供商。它大约有 15GB,想开始使用更强大的东西(考虑使用 Digitalocean)。最终我也会切换我的网站,但现在我只想移动数据库,然后将我的网站(仍在共享托管提供商上)指向新的 digital ocean 服务器。当我相信事情进展顺利后,我最终也会将代码移过去。

我在这里评论这篇文章: https://www.digitalocean.com/community/tutorials/how-to-migrate-a-mysql-database-between-two-servers

这个想法看起来不错,但我担心会丢失一些数据和整个策略。我认为我的数据库足够大,在复制数据库并设置它所需的时间里,我会错过发生的新事务(可能大约 300 条记录,没什么太多)

解决方案是:

  1. 复制数据库并进行设置以确保其正常工作
  2. 更新我的 PHP 代码以指向新数据库
  3. 在旧数据库上运行 MySQL 脚本以获取创建日期大于 x 的任何记录(我仍然认为我会在此处获取重复记录)或者主键 >= x 且 <= y 的任何记录(这样我就可以获得在 db xfer 之间添加的几百条记录)

有更好的方法吗?也许我 fork 数据,以便它暂时同时进入两个数据库,然后我可以安全地将遗留数据放入新数据库,只有当一切都相等时我才会切换?

如有任何建议和帮助,我们将不胜感激!

最佳答案

在页面仍在运行时保持两者同步的唯一方法是主从设置,主数据库是旧数据库,直到您切换 PHP 代码。

如果您不能这样做,则需要在移动数据时禁用对旧数据库的所有写入请求。为此,Mysql 可以以 --read-only 模式启动。您当然可以只建立一个维护页面并阻止对数据库的所有访问。

然后在最后一次写入请求后获取新的转储,将其复制过来,然后将 PHP 指向新的数据库。之后您可以删除维护模式。

你可以使用3.中提到的方法,但这是有风险的。您需要调整自动增量值,为缺失的条目腾出空间。

有趣,就在我正要编辑这个的时候。 SO 进入只读模式进行数据库传输;-)

关于php - 将 MySQL 数据库从共享主机传输到云提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44986736/

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