网站迁移不丢数据的操作顺序

KLWIN 运维组 2026-07-15 约 5 分钟读完 约 1,521 字 363 次阅读
网站迁移不丢数据的操作顺序
网站迁移不丢数据的操作顺序

迁移的核心风险只有一个:切过去之后发现有问题,又回不来。所以整个流程要围绕"可回滚"设计。

一、迁移前的三件事

  1. 完整备份。数据库、网站文件、配置文件、SSL 证书,各存一份到本地。
  2. 记录当前状态。截图首页、记录收录量、记录核心词排名,迁移后用来对比。
  3. 确认新环境。PHP 版本、MySQL 版本、扩展(GD、Redis、fileinfo)是否齐全。版本不一致是最常见的坑。

二、迁移的五个步骤

1. 部署新环境

在新服务器装好面板、建站、配好伪静态和 SSL。先放一个静态测试页,确认域名解析和访问正常。

2. 导入文件

打包旧站文件,排除缓存和日志目录。上传后解压,检查文件属主和权限(目录 755、文件 644)。

tar -czf site.tar.gz --exclude=cache --exclude=logs /www/wwwroot/old/
scp site.tar.gz root@新IP:/www/wwwroot/new/

3. 导入数据库

导出时用 --single-transaction 避免锁表,导入前先建库、设字符集 utf8mb4。

mysqldump -u root -p --single-transaction dbname > db.sql
mysql -u root -p dbname < db.sql

4. 改配置

数据库连接、站点 URL、缓存路径、邮件配置。改完搜索一遍配置文件里的旧域名,全部替换。

5. 测试

用 hosts 把域名指向新 IP,本地测试:首页、列表、详情、后台、表单、支付、图片。移动端也要测。

三、切 DNS 的时机

建议在流量低峰(凌晨)切,并把 TTL 提前一天调低到 300 秒,方便快速回滚。

切换后观察两小时:访问是否正常、日志有没有报错、表单是否收到测试提交。

四、回滚方案

回滚的前提是旧环境还在。所以:

  • 旧服务器至少保留两周,别急着退。
  • 旧站的 DNS 记录保留,随时可以切回。
  • 如果迁移期间有新数据产生(比如新订单),回滚前要先同步回旧库。

这一步很多人忽略,结果回滚后发现丢了半天订单。

五、换域名的额外步骤

如果同时换域名,多三件事:

  1. 全站 301 到新域名,至少保留一年。
  2. 搜索资源平台做"站点改版"提交(百度)或"地址更改"(谷歌)。
  3. 更新所有外部的链接、广告落地页、名片和宣传物料。

六、迁移后的检查清单

检查项合格标准
首页与内页全部 200,无 404
伪静态内页 URL 与旧站一致
图片全部能显示,路径正确
后台能登录,能发布文章
表单提交后能收到邮件
SSLHTTPS 正常,无混合内容
sitemap能访问,URL 正确
robots没有误屏蔽

七、迁移后一周要盯什么

  • 抓取频次是否恢复。
  • 索引量是否稳定。
  • 404 报告有没有异常增多。
  • 服务器负载是否正常(新环境配置可能不同)。

通常三到七天恢复正常。如果一周后抓取频次仍然很低,检查是不是 DNS 还没完全生效,或者新服务器响应慢。

迁移时最容易被忽略的

不是文章和图片,而是表单收件邮箱、定时任务、SSL 证书、301 规则和第三方回调地址。这些不在页面上,迁移后很容易漏,等客户发现表单没收到,已经丢了几条线索。

做一张迁移清单,逐项打勾;在测试环境完整走一遍,再切正式。切完保留旧服务器一周,方便回滚。

切 DNS 前把 TTL 调低,切完观察 24 小时再调回。旧服务器保留一周,确认邮件、表单、支付都正常再关。

切 DNS 前把 TTL 调低,切完观察 24 小时再调回,旧服务器保留一周。

常见问题

迁移要不要关站

不建议关站。用 DNS 切换,配合低 TTL,可以做到几乎无感知。

数据库版本不同怎么办

先在新环境建同版本,导入成功后再升级。直接跨大版本导入容易出字符集和语法问题。

迁移后排名掉了

先确认 URL 没变、301 正确、服务器速度正常。多数是抓取延迟,两周内会恢复。

迁移前的备份策略见网站备份的三二一原则。

K

KLWIN 运维组

KLWIN康林旺 内容团队,长期处理企业官网建设、CMS 模板开发与搜索优化的实际项目。文章里的数据和方法,来自交付过程中的记录,不引用未经核实的结论。

上一篇响应式图片方案 srcset与懒加载的正确用法
下一篇 新站多久有排名 前三个月的节奏表
RELATED

继续阅读

客服头像
正在连接...
👋
开始聊天前,请告诉我们您的称呼
客服 正在输入