phpmyadmin仅支持本地导出与导入,迁移成功关键在于字符集、表前缀、网站地址三处处理:导出须选“自定义”模式、sql兼容设为mysql40、字符集选utf8;导入前需创建同名空库并匹配utf8排序规则;导入后必须更新wp_options表中siteurl和home字段为新地址。
phpmyadmin 本身不能直接把数据库“推”到新服务器,它只负责导出和导入两个本地操作环节;迁移成败取决于你是否处理好字符集、表前缀、网站地址这三处关键点。
导出时必须选对兼容模式和编码
导出页面选“自定义”,不是“快速”——因为“快速”默认用当前 MySQL 版本语法,迁到低版本服务器可能报错 Unknown character set: 'utf8mb4' 或 CREATE TABLE ... ENGINE=InnoDB 不识别。
- SQL 兼容模式设为
MYSQL40(兼容性最广,尤其适合老服务器)或MYSQL323(极旧环境) - 勾选“导出表结构和数据”,别漏掉
wp_options、wp_posts这类核心表 - 字符集选
utf8(不是utf8mb4),导出文件顶部会带SET NAMES utf8,避免中文乱码 - 压缩格式选
gzip,大库能压到 1/3 大小,后续上传更稳
导入前要先创建空库并匹配参数
新服务器上不能直接导入到不存在的库,也不能用错字符集导致后续写入失败。
- 在 phpMyAdmin 左侧点击“新建”,库名和原库一致(如
wordpress),排序规则选utf8_general_ci - 导入页里,“字符集”下拉框手动选
utf8,和导出时保持一致 - 如果提示
max_allowed_packet错误,别硬调 php.ini;改用命令行导入更可靠 - 导入中途卡住或报错,检查 SQL 文件开头是否有
CREATE DATABASE语句——有就删掉,否则会因库已存在而失败
导入后必须更新 siteurl 和 home 地址
WordPress 迁移后打不开首页、后台跳转回旧域名,90% 是因为没改这两个字段。
- 在新库中找到
wp_options表(前缀可能不同,如wp123_options) - 搜索
option_name为siteurl和home的两行,把option_value改成新地址,比如https://newdomain.com - 如果用了子目录结构(如
https://newdomain.com/blog),两个字段都要填完整路径,不能只填域名 - 改完立刻清空 WordPress 缓存(如果有 WP Super Cache 等插件),否则可能仍读旧值
真正容易被忽略的是:导出的 SQL 文件里可能含大量 INSERT INTO wp_options VALUES (..., 'siteurl', 'http://old.com', ...) 这类硬编码行,如果忘记手动替换或用 UPDATE wp_options SET option_value = 'https://newdomain.com' WHERE option_name IN ('siteurl', 'home'); 执行一次,整个站点就卡在重定向循环里——这不是 phpMyAdmin 的问题,是迁移逻辑缺了一环。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











