记录一次discuz迁移

前不久714火爆的时候,做了一个论坛。

不过由于没有精心打理,数据采集比较多,导致比较杂乱。

目前在用的数据盘已经塞满了60%了,

也不想关站,就只好迁移到另外一台没啥数据但是有块儿100G硬盘的ecs上。

准备工作

  • 先将站点暂时关闭,避免有数据不一致的情况还得需要排查。
  • 登录到 dz 后台,在 全局-》站点信息 tab 下 进行站点关闭操作。
  • 备份数据库:由于使用的是自建数据库,也就涉及到了数据库迁移。先将当前使用的数据库进行备份处理, mysqldump -uroot -proot wd798 > ./xahy-wd798.txt 回车执行会提示 Warning: Using a password on the command line interface can be insecure. 不必在意;执行完毕得到一个 3.5 的 xahy-wd798.txt 备份文件
  • 备份站点程序
    备份站点程序是比较省事儿的,可以借助 gitee 或者 github 等第三方,将程序上传到第三方,然后在新的一台服务器上将程序 pull 下来即可。由于我本身的程序已经达到 6G 大小了,gitee 限制 private 仓库最大尺寸为 5G,而 github 受服务器带宽的限制,速度并不理想。只好采用压缩包然后 scp 的方式传输了,速度还比较理想。
    tar -zcvf wd-program.tar.gz wd-program
    scp -P 23 ./wd-program.tar.gz [email protected]:/wd-program.tar.gz

还原数据库

在另外一台服务器上创建一个新的数据库;创建完毕,在服务端通过命令行进入MySQL,use new_wd_db 然后 执行 source /xahy-wd798.txt 等待运行完毕即可。

修改程序配置文件

修改 upload/config/config_global.php 数据库相关配置,修改完毕测试程序运行即可。

check 差异

因为站点比较有价值的信息不多,但还是做了一下check,可当做参考。

  • 比较数据库
    进入information_schema 数据库(存放了其他的数据库的信息)
    use information_schema;
    比如查看数据库home的大小
    select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’new_wd_db’;
    在两台服务器上各自执行一遍,比较运行结果即可。
  • 比较代码
    借助 gitee 或 github 第三方,两边服务器 git status 查看有没有变化即可。

收尾工作

  • 先登录到服务器后台,此时域名解析的服务器暂时还是旧的服务器;

  • 登录完毕后,将域名解析地址、域名证书迁移到新服务器,然后在 后台-》首页-》UCenter 设置 下 修改 UCenter 访问地址、UCenter 数据库服务器、UCenter 数据库用户名、UCenter 数据库密码、UCenter 数据库名 相关配置

检验调整结果

  • 将旧服务器lnmp 环境暂时停机,或者域名全部解析到新服务器;

  • pc端和手机端访问并查看log。

至此,迁移算是结束了。

本文为阿远原创文章,转载无需和我联系,但请注明来自阿远博客 https://www.xianhenyuan.com

你可能感兴趣的:(PHP,Linux)