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

Php 将MySQL数据库从共享主机传输到云提供商,php,mysql,database,database-migration,digital-ocean,Php,Mysql,Database,Database Migration,Digital Ocean,我目前正在为我的数据库使用共享主机提供商。它大约15GB,并且希望开始使用更强大的功能(考虑使用Digitalocean)。最终,我也会切换我的站点,但现在我只想移动数据库,然后将我的站点(仍然在共享主机提供商上)指向新的digital ocean服务器。在我相信事情会好起来之后,我最终也会把代码移过去 我在这里回顾这篇文章: 这个想法似乎不错,但我担心会遗漏一些数据和整个策略。我认为我的数据库足够大,在复制数据库并设置它所需的时间内,我将错过发生的新事务(可能大约300条记录,没有太多) 解

我目前正在为我的数据库使用共享主机提供商。它大约15GB,并且希望开始使用更强大的功能(考虑使用Digitalocean)。最终,我也会切换我的站点,但现在我只想移动数据库,然后将我的站点(仍然在共享主机提供商上)指向新的digital ocean服务器。在我相信事情会好起来之后,我最终也会把代码移过去

我在这里回顾这篇文章:

这个想法似乎不错,但我担心会遗漏一些数据和整个策略。我认为我的数据库足够大,在复制数据库并设置它所需的时间内,我将错过发生的新事务(可能大约300条记录,没有太多)

解决办法是:

  • 复制数据库,并对其进行设置以确保其正常工作
  • 更新我的PHP代码以指向新数据库

  • 在旧数据库上运行MySQL脚本以获取创建日期大于x的任何记录(我仍然认为我会在这里获得重复记录),或者可能是主键>=x且的任何记录在页面仍在运行时保持这两个记录同步的唯一方法是主从设置,在切换PHP代码之前,主数据库是旧数据库

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

    然后在最后一个写请求之后获得一个新的转储,复制它,然后将PHP指向新的DB。之后,您可以删除维护模式

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

    有趣的是,就在我正要编辑这个的时候。因此,数据库传输处于只读模式;-)