记录一次discuz迁移

作者: xahy 分类: 笔记 发布时间: 2019-07-18 09:35

前不久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.5G 的 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 root@127.0.0.1:/wd-program.tar.gz

  • 还原数据库

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

  • 修改程序配置文件

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

  • check 差异

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

  1. 比较数据库

    进入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’;

    在两台服务器上各自执行一遍,比较运行结果即可。

  2.  比较代码

    借助第三方,两边服务器 git status 查看有没有变化即可。

  • 收尾工作

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

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

  • 检验调整结果

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

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

  • 至此,迁移算是结束了。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注