宝塔面板一键迁移多站点完整数据零丢失搬家教程
搬家前先搞懂怎么做才不丢数据
很多站长在换服务器时最担心的就是网站数据丢失、数据库连不上、配置文件出错。
宝塔面板内置的“一键迁移”插件解决了大部分搬运工作,但如果不按正确流程操作,依然可能出现文件漏传、数据库权限不对等问题。
这套教程适合有多个站点需要迁移、要求数据完整不丢失的场景,我会从准备到验证一步步讲清楚。
准备工作:两台服务器都要装好这个插件
无论是旧服务器(源服务器)还是新服务器(目标服务器),宝塔面板版本建议都在 7.9 以上。
登录宝塔后台,在“软件商店”搜索“宝塔一键迁移”并安装。
安装完成后,进入插件设置页面,需要做两件事:
- 在目标服务器上生成 API 密钥:点击“API 接口”选项卡,设置一个密码(作为密钥),并开启允许远程连接。
- 在源服务器上填写目标服务器信息:进入一键迁移插件,在“迁移”页面填入目标服务器的 IP、API 端口(默认 8888)、密钥(刚才设置的密码)。
密钥和端口是迁移的“钥匙”,如果填错会连接失败;
还要确认目标服务器的宝塔防火墙和云服务商安全组放行了 8888 端口(或你修改后的 API 端口)。
执行迁移:选中所有站点并一次传输
在源服务器的一键迁移插件中点击“迁移”页面,系统会自动列出当前服务器上的所有网站。
你可以勾选要迁移的站点,注意勾选“连同数据库一起迁移”和“连同 FTP 账号一起迁移”。
如果站点使用了 FTP 单独管理文件,保险起见把 FTP 也勾上。
点击“开始迁移”后,插件会把选中的站点文件、数据库、配置打包并传输到目标服务器。
迁移过程中请保持两台服务器网络稳定,不要关闭浏览器或重启面板。
迁移耗时取决于数据量大小,一般几分钟到十几分钟。
迁移完成后,插件会提示“迁移成功”,并列出每个站点的迁移结果。
此时可以进入目标服务器的“网站”页面检查是否已经出现对应的站点列表。
容易踩坑的地方和解决技巧
1. API 连接失败:最常见的原因是目标服务器的 8888 端口未放行。
先检查目标服务器的宝塔面板安全页面——如果开启了“禁止远程连接”则需关闭,同时在云服务商安全组中添加允许来源 IP 和端口规则。
2. 数据库版本不一致:源服务器 MySQL 5.6 而目标服务器 MySQL 5.7 一般兼容,但若相差太大(比如 5.1 到 8.0)可能有字符集或语法问题。
建议迁移前将两边的 MySQL 版本调整为相近版本,或在迁移后单独还原数据库并做兼容测试。
3. 文件权限不对:迁移完成后,部分站点可能出现 500 错误或图片无法加载。
这是因为文件权限被降级。
可以在目标服务器的宝塔后台“文件”管理中将网站根目录的权限设为 755,所有者设为 www(或运行用户)。
4. 域名解析未切换:迁移完成后,如果域名仍然指向旧服务器 IP,用户访问的还是旧站。
需要先修改域名的 A 记录到新服务器 IP,等待解析生效。
建议在切换前先通过本地 hosts 文件或临时域名访问新站做完整测试。
迁移完成后怎么验证数据完整
- 对比文件数量:在源和目标服务器上分别运行
ls -laR /www/wwwroot/你的站点目录 | wc -l,看文件总数是否一致。 - 检查数据库行数:进入 phpMyAdmin 或宝塔数据库管理,对比源和目标数据库中重要表(如 wp_posts)的行数。
- 后台登录测试:用管理员账号登录新站后台,检查文章、用户、设置是否完整。
- 功能测试:提交表单、上传文件、查看文章详情等操作都要跑一遍,确保插件、主题正常运行。
如果发现某站点异常,不要直接在目标服务器上修改源数据,而是重新执行一次迁移(只迁移异常站点)。
绝大部分问题都出在权限或 API 连接上,按前面的避坑检查即可。
以上步骤适用于宝塔面板用户进行多站点搬家,只要按顺序操作,数据零丢失是可以实现的。
如果你迁移的是 WordPress 这类动态站点,建议在迁移前先清空缓存插件并备份一次数据库作为兜底。