引言:最近要换服务器,需要将部署在旧服务器上的数据迁移到新的服务器上。咨询了腾讯云的客服,由于我是跨账户迁移且两个账户的地域不一致,所以不能使用共享镜像的方式,那就只能手动迁移数据了。每个人使用的环境和工具不同,方法自然也不同,下面主要整理一下步骤以及记录一下在这个过程中遇到了一些问题。
步骤: 1、服务器wordpress(网站)本地数据的拷贝; 2、MySQL数据库数据迁移(巨坑); 3、MySQL数据表wp_options中部分字段数据更改; 4、进入WordPress后台; 5、网站备案迁移; 6、新服务器上的备案迁入和备案变更; 7、域名重新解析; 8、等待备案完成(1-3个工作日);
1、服务器wordpress(网站)本地数据的拷贝; 我这里使用的wampserver集成环境,环境配置建议查看文章(服务器VC++和Mysql环境置)。首先去旧服务器上在wamp的安装目录中找到“www”文件夹,压缩并拷贝到新服务器的wamp对应的目录下。如图1-1所示;
图1-1
2、MySQL数据库数据迁移(巨坑); 数据库的迁移按道理说是非常简单的,直接导出、运行sql文件就行了,但不知道是什么原因运行sql文件的时候总是报错导致数据和结构都进不来,我这里用的MySQL版本为5.7.24,使用版本“5.5.5-10.3.12-MariaDB”就可以直接运行同一个sql文件,很诡异,不想改变版本的情况下只能再想其它办法迁移数据了。 尝试了很多方法,最后长到了一种勉强可以用的方法吧,为什么说是勉强可以用呢,因为它还是不能完美的把数据和结构迁移过来。使用“导出”的方式,如图2-1所示,有很过格式供你选择,多尝试几个格式发现其中两个格式还是挺好用的分别为“.mdb”和".dbf"。 在导入的时候要注意:“源表”和“目标表”要一致,如图2-2所示。如果在新服务器中的数据库中没有这个数据表,则在“新建表”下会打对勾✔,表示会新建一个MySQL数据表。 最后你可能还会发现数据导入丢失和数据表结构不对,此时我是手动调整的,如果你有好的方法欢迎私信交流。对于数据丢失的情况可以手动复制粘贴,如图2-3所示。数据表结构不对的话可以手动进行复制和粘贴。 总之,无论用什么方法,最终目的就是将旧服务器中MySQL的数据迁移到新的服务器中。
图2-1
图2-2
图2-3
3、MySQL数据表wp_options中部分字段数据更改; 数据迁移完毕后找到数据表“wp_options”,找到字段“option_name”和“option_value”,更改“siterul”和“home”对应的值为“http://127.0.0.1”,如图3-1所示:
图3-1
4、进入WordPress后台;
更改完毕后就可以在浏览器中输入“http://127.0.0.1”进入主页,输入“http://127.0.0.1/wp-login.php”进入登录页面,输入之前WordPress的账户和密码就可以进入wordpress后台。如图4-1所示。
图4-1
5、网站备案迁移; 以上步骤就完成了数据的迁移,目前网站只能在服务器上的本地运行查看,还不能通过域名进入。因为账号换了所以备案也需要迁移,进入旧服务器中的控制台,找到备案->更多->迁移备案账号,如图5-1所示。输入相关信息即可。
图5-1
6、新服务器上的备案迁入和备案变更; 备案迁移完成后,在新服务器中就可以看到备案信息了,此时备案中的信息还是之前服务器中的公网IP,要改成现在服务器的公网IP,需要“变更备案”,如图6-1所示。这个过程输入的资料和信息还是很多的。
图6-1
7、域名重新解析; 变更备案完成后,最后需要对域名进行重新解析,如图7-1所示
图7-1
8、等待备案完成(1-3个工作日); 等待备案完成后即可通过域名访问自己的网站了。