phpmyadmin仅导出数据库,无法迁移整个wordpress站点;必须同步备份并上传网站文件,且导出时需用自定义模式勾选“添加drop语句”和“禁用外键检查”,导入前清空目标库,再通过sql命令替换域名及处理表前缀。

不能直接用 phpMyAdmin 迁移整个 WordPress 站点,它只负责数据库部分;漏掉文件或配置错误会导致网站白屏或重定向失败。
导出时选错格式或结构会丢掉 wp_options 中的站点 URL
phpMyAdmin 默认导出是「快速」模式 + 「SQL」格式,但 WordPress 依赖 wp_options 表里的 siteurl 和 home 字段。如果目标环境域名不同,不改这些值,后台进不去、前台跳转旧地址。
- 导出前先在原库执行:
SELECT option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');记下旧地址 - 导出时切到「自定义」模式 → 勾选「添加 DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT 语句」→「禁用外键检查」必须勾选(避免导入报错)
- 不要选「压缩」导出(如 .zip/.gz),某些 cPanel 版本解压失败导致 SQL 文件损坏
导入前没清理目标数据库或没改表前缀容易冲突
目标 cPanel 可能已有其他 WordPress 数据库,或者残留旧表。直接导入会因表名重复报错 #1050 - Table 'wp_posts' already exists,或因前缀不一致导致插件读不到数据。
- 导入前先清空目标数据库:在 phpMyAdmin 左侧选中目标库 → 点「操作」→ 滚动到底部点「清空数据库(DROP)」→ 确认
- 如果新站要用不同前缀(如
wp123_),别在导出时改——而是在导入后执行替换:UPDATE wp123_options SET option_value = replace(option_value, 'https://old.com', 'https://new.com'); UPDATE wp123_posts SET post_content = replace(post_content, 'https://old.com', 'https://new.com'); - 注意:
wp_users表里的user_login和user_pass不受影响,但若启用了「强制 SSL 登录」,还需检查wp_options中的admin_email和相关安全插件设置
导入超时或被 cPanel 截断的常见原因和绕过方法
cPanel 自带的 phpMyAdmin 通常限制上传大小(默认 2MB–8MB)和执行时间(30–60 秒),稍大的 WordPress 数据库(>5MB)会卡在「正在导入…」然后空白或报 #2006 - MySQL server has gone away。
- 优先用「从网页服务器上传」而非「从本地上传」:把 SQL 文件先通过 cPanel「文件管理器」或 FTP 传到
/home/username/tmp/目录,再在 phpMyAdmin 的「导入」页选择「从 Web 服务器上传目录」→ 输入路径(如/tmp/site-backup.sql) - 若仍失败,改用命令行(需 SSH 权限):
mysql -u username_dbuser -p database_name —— 这个方式无超时、无大小限制 - 导入完成后立刻检查:点开
wp_options表,确认siteurl和home已更新为目标地址;再查wp_users表,确保至少有一条用户记录且user_status = 0
真正耗时的不是导入动作本身,而是前后不一致的 URL 替换和权限校验。很多「迁移后登录 404」的问题,其实是因为 wp-config.php 里 DB_NAME/DB_USER 没同步更新,或者 cPanel 新建数据库时忘了给用户分配全部权限。这些不在 phpMyAdmin 里,但一步漏掉,前面全白忙。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











