不同账号之间web站点迁移

2019-05-05 15:00:13 浏览数 (1)

站点经过一段时间的调试,已经基本可以上线了,但是由于在测试机器上进行了大量的数据测试,导致mysql数据库的大小超出了2m(一般phpmyadmin的默认导入大小上限),于是在迁移时就想起来通过DTS产品进行迁移。

提示通过DTS提示通过DTS

由于源站服务器并没有购买腾讯云专用数据库,因此是可以直接通过导出的方式进行导出,且已经针对phpmyadmin的配置文件做过修改,所以可以自由的进行导入与导出操作。由于web后端版本也做了相应的升级,为了避免直接update出现异常,就做的全量(删掉旧版本,上传新版本)。

但是在操作之前,需要先备份一波,我们就先将web和sql备份一份后,再下载到本地,接着进行一个迁移操作。开始选用的是DTS,

设置源和目标数据库设置源和目标数据库

DTS还是做的比较人性化的,支持多种方式的接入,虽然目前条件稍微苛刻。如果选择云主机自建选项,读取的是有云数据库的当前账号下的云主机内的数据库。

云主机自建模式云主机自建模式

注意这个地方一定要点测试连通性才能进行下一步。

测试连通性测试连通性
会分配两个随机ip,一般源数据库访问最好是%会分配两个随机ip,一般源数据库访问最好是%

本来以为能一条路走下去的,但是后面出现很多问题,可以参考:https://cloud.tencent.com/document/product/571/8710

https://cloud.tencent.com/document/product/571/19880

由于本地数据库存在多处需要修改的,且担心本地数据库出现异常导致无法正常升级和回滚,就停止了DTS的操作。

本来以为迁移无望了,结果发现控制台有一处支持2GB 以上的导入。

控制台导入控制台导入
上传上传

注意,这个地方不是导入完成,只是类似一个中转站,转存数据的地方,需要再点下一步

导入选项导入选项

注意这个地方,如果选择已有的数据库会将其覆盖,所以我先创建了一个空的数据库,再将其导入,如果不指定的话,类似生成一个新的数据库,但由于已经有多个运行的生产环境,所以我选择的是指定导入。再点一次确认导入,就可以将数据库进行一个导入操作,然后上传web高版本文件,修改数据库配置。

打开显示web站点显示sql链接错误,有点发晕,检查db配置文件,发现地址,账号密码都没有错误,尝试修改数据库链接方式,但仔细想想不是这个问题,于是检查表前缀,发现表前缀错误,修正后,web正常打开。到这里迁移结束。

小结:

腾讯云数据库拥有高性能,自动冷备,默认从库等特性,如果预算足够,值得迁移。

迁移前务必保证数据有不低于两个副本,以免操作失误导致无法挽回的错误。

不同账号迁移的时候,需要在不同账号之间的安全组做大限度的放通,修改源数据库到符合DTS标准,然后通过DTS迁移。

如果DTS不适用,可以采用腾讯云数据库控制台直接导入的方式,导入不超过2G大小的数据库文件,注意不要覆盖现有的生产环境,如果生产环境不能中断的,推荐尝试改造本地数据库的参数,使其符合DTS规范后,通过DTS做全量 增量迁移操作,以保证数据的完整性和保证生产环境的可靠性和可用性。

涉及数据操作时,最好在闲时,或业务访问量较小时,方便调试bug。

0 人点赞