phpMyAdmin导入失败的根本原因是PHP的upload_max_filesize、post_max_size和max_execution_time三重限制,需同步调大并重启服务;推荐用mysql命令行直接导入以彻底绕过上传限制。
phpMyAdmin 导入失败的常见报错和根本原因
直接拖拽超大 sql 文件(比如 wordpress 全站备份 > 2mb)进 phpmyadmin,大概率会卡在上传阶段或报错 cannot upload file larger than x mb。这不是 phpmyadmin 界面问题,而是底层 php 的三重限制在起作用:upload_max_filesize、post_max_size 和 max_execution_time。哪怕你改了其中一个,其他两个没同步调大,照样失败。
绕过 phpMyAdmin 上传限制的实操路径
最稳的方式是跳过 Web 上传,把 SQL 文件放服务器上,用命令行或配置文件方式导入。前提是:你有 SSH 权限,且能访问 MySQL 命令行工具。
- 把备份文件(如
wp-backup.sql)通过scp或 FTP 传到服务器任意目录,比如/home/user/backup/ - 确保目标数据库已创建(如
CREATE DATABASE wp_new CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;) - 执行导入:
mysql -u [username] -p[password] wp_new (注意 <code>-p后**不加空格**,密码紧贴) - 如果 SQL 文件含
CREATE DATABASE或USE语句,先用文本编辑器删掉或注释掉,避免冲突
实在只能用 phpMyAdmin?临时调大 PHP 限制的最小改动法
如果你没有 SSH 权限,只能靠 phpMyAdmin,那必须同时改三个 PHP 配置项,缺一不可。不要只改 upload_max_filesize。
- 找到你的
php.ini(用php --ini或 phpMyAdmin 的「服务器信息」页确认路径) - 修改以下三项(示例值针对 50MB 备份):
upload_max_filesize = 64Mpost_max_size = 64Mmax_execution_time = 300 - 重启 Web 服务:
sudo systemctl restart apache2或sudo systemctl restart php-fpm(根据实际服务选) - 改完后务必进 phpMyAdmin → 「设置」→ 「导入」页,确认「最大上传文件大小」已更新,否则说明配置未生效
WordPress SQL 导入后常见的数据异常点
导入成功不等于网站能跑起来。WordPress 对 siteurl 和 home 选项、表前缀、字符集非常敏感,容易导致白屏或跳转错误。
- 检查
wp_options表里siteurl和home两项是否指向当前域名(不是备份时的老地址) - 确认所有表使用
utf8mb4字符集(尤其wp_posts和wp_postmeta),否则 emoji 或某些中文会变 ? - 如果原备份用了非默认表前缀(如
wp123_),导入后要确保wp-config.php中的$table_prefix与之匹配 - 导入后立刻清空 WordPress 缓存(对象缓存、OPcache、插件缓存),否则可能读到旧的
options值
真正麻烦的不是导入动作本身,而是导入后那些藏在 wp_options 和字符集里的隐性依赖——它们不会报错,但会让首页 500 或后台登录循环跳转。
立即学习“PHP免费学习笔记(深入)”;



















