WordPress站点搬家到另一台服务器零丢数据
把WordPress从一台服务器搬到另一台服务器,只要顺序对、备份全,通常可以做到零丢数据。
本文按零基础也能照做的节奏,讲清迁移前要准备什么、文件和数据库怎么搬、配置怎么改、最后怎么验证。
先确认新服务器环境能跑WordPress
迁移前先在新服务器上装好运行环境。
常见组合是Nginx或Apache、PHP、MySQL/MariaDB。
宝塔面板用户可以在软件商店安装LNMP或LAMP环境,命令行用户可以用php -v、mysql -V检查版本。
需要提前准备的几项:
- 旧服务器SSH信息和新服务器SSH信息,确保能登录。
- 旧站点的数据库名、数据库用户、数据库密码,通常在
wp-config.php里。 - 新服务器上创建好空数据库和数据库用户,字符集建议选
utf8mb4。 - 如果域名要一起迁移,提前确认域名解析可以修改;如果只是换服务器不换域名,迁移完成后把解析指向新服务器IP。
- 安装好压缩、解压工具,宝塔面板自带文件管理,命令行可用
tar、zip、unzip。
关键判断:新服务器PHP版本不要低于旧站要求,MySQL版本尽量不低于旧库版本,否则导入时可能报错。
在旧服务器完整备份文件和数据库
先停掉写入,减少迁移过程中产生新数据。
可以在宝塔面板把站点暂停,或者用命令临时限制访问。
更稳妥的做法是进入WordPress后台,把站点设为维护模式,避免用户提交新内容。
备份网站文件。
进入旧服务器站点根目录,一般路径类似/www/wwwroot/你的域名,执行:
tar -czvf wordpress-files.tar.gz /www/wwwroot/你的域名
如果使用宝塔面板,可以在文件管理里选中网站目录,点击压缩,下载到本地,再上传到新服务器。
备份数据库。
命令行示例:
mysqldump -u数据库用户 -p 数据库名 > wordpress-db.sql
输入密码后会在当前目录生成wordpress-db.sql。
宝塔面板用户可以在数据库页面点击备份,再下载备份文件。
注意:文件备份和数据库备份要尽量在同一时间点完成,否则可能出现文章内容和附件对不上。
把文件和数据库导入新服务器
将刚才的wordpress-files.tar.gz和wordpress-db.sql上传到新服务器。
可以用scp、宝塔文件管理上传,或者用FTP工具。
解压网站文件到新站点目录:
mkdir -p /www/wwwroot/新站点目录
tar -xzvf wordpress-files.tar.gz -C /www/wwwroot/新站点目录
如果压缩包里包含原目录层级,解压后确认wp-config.php、wp-content、wp-admin、wp-includes这些目录是否在正确位置。
导入数据库:
mysql -u新数据库用户 -p 新数据库名 < wordpress-db.sql
导入完成后,可以用mysql -u新数据库用户 -p -e "show tables;" 新数据库名查看表是否齐全。
常见表包括wp_posts、wp_options、wp_users等。
如果表前缀不是wp_,以实际为准。
修改wp-config.php并处理域名替换
打开新服务器上的wp-config.php,修改数据库连接信息:
define('DB_NAME', '新数据库名');
define('DB_USER', '新数据库用户');
define('DB_PASSWORD', '新数据库密码');
define('DB_HOST', 'localhost');
如果数据库不在本机,DB_HOST要改成实际地址。
保存后先不要急着访问,继续处理域名和URL。
如果域名不变,只是换服务器,通常不需要改站点URL;
如果域名变了,或者从临时域名换成正式域名,需要替换数据库里的旧域名。
可以用WP-CLI:
wp search-replace '旧域名' '新域名' --all-tables --precise
没有WP-CLI时,可以用phpMyAdmin执行SQL,但直接替换有风险,建议先备份数据库再操作。
同时检查wp-config.php里是否有旧服务器专属路径、缓存配置或额外常量,按新环境调整。
迁移后必须做的验证和避坑
访问新服务器上的站点,先看首页是否正常打开。
然后登录后台,检查文章、页面、媒体库、插件、主题是否完整。
建议逐项验证:
- 打开一篇带图片的文章,确认图片能显示,说明附件路径正常。
- 进入后台“设置-固定链接”,直接保存一次,刷新文章页看是否404。
- 检查
wp-content/uploads目录权限,宝塔面板可设为755,文件属主建议和站点运行用户一致。 - 用
curl -I http://新服务器IP查看返回状态,确认没有跳转到旧服务器。 - 如果用了缓存插件或CDN,先清空缓存再测试。
常见避坑点:
- 不要只搬文件不搬数据库,否则文章和设置会丢。
- 不要在新服务器上直接改旧数据库,先导入再改配置。
- 域名替换不要用简单文本替换工具直接改SQL文件,容易破坏序列化数据。
- 迁移完成后确认旧服务器暂时不要删除,保留几天作为回滚备份。
常见疑问
迁移后后台登录不了怎么办?
先检查wp-config.php数据库信息是否正确,再确认wp_users表是否存在。如果密码不对,可以通过WP-CLI重置:wp user update 1 --user_pass=新密码。
图片显示裂图怎么处理?
检查wp-content/uploads是否完整上传,以及数据库里附件的guid字段是否还是旧域名。必要时用wp search-replace替换旧域名。
一定要用WP-CLI吗?
不一定。宝塔面板、phpMyAdmin也能完成数据库导入和部分替换,但涉及序列化数据时WP-CLI的search-replace更安全。
迁移后网站打不开,提示数据库连接错误?
优先核对新数据库名、用户、密码和主机地址,再确认数据库服务是否启动。
按以上步骤执行,WordPress站点搬家到另一台服务器零丢数据是可以做到的。
核心是备份完整、导入顺序正确、配置改对、迁移后逐项验证。