phpmyadmin 5.2 本身不限制上传,真正限制来自 php 的 upload_max_filesize 和 post_max_size(取较小值),且必须同步调大二者及 memory_limit、max_execution_time 等参数并重启 web 服务;若无权限改 php.ini,可启用 $cfg['uploaddir'] 机制从服务器目录导入,或直接使用 mysql 命令行导入绕过所有限制。

phpMyAdmin 5.2 本身不支持直接上传超大 SQL 文件,必须绕过浏览器上传环节——要么改 PHP 配置(治标),要么用 $cfg['UploadDir'] 机制或命令行(治本)。
为什么改 upload_max_filesize 常常没用?
常见错误现象:File exceeds the maximum allowed size 或页面空白、无响应;查 PHP 错误日志看到 POST Content-Length of XXX bytes exceeds the limit。
根本原因不是 phpMyAdmin 卡着,而是 PHP 的 Web SAPI(Apache/PHP-FPM)在拦:必须同时满足三个条件才可能上传成功:
-
upload_max_filesize要调大(如512M) -
post_max_size≥upload_max_filesize(如设为512M或600M) -
memory_limit≥post_max_size(大 SQL 解析吃内存,建议1024M) -
max_execution_time和max_input_time也要延长(如都设为600)
⚠️ 注意:改的是 Web SAPI 对应的 php.ini,不是 CLI 版。用 <?php phpinfo(); ?> 查 Loaded Configuration File 路径,改完必须重启 Apache 或 php8.1-fpm(版本号按实际)。
用 $cfg['UploadDir'] 绕过上传限制(推荐优先试)
这是 phpMyAdmin 5.2 原生支持的方式,不依赖 PHP 上传配置,适合你有 FTP 或服务器文件写入权限但没 root 权限改 php.ini 的场景。
实操步骤:
- 在 phpMyAdmin 安装根目录下新建文件夹,比如叫
import - 编辑
config.inc.php,添加或修改这一行:$cfg['UploadDir'] = 'import'; - 把你的
large_db.sql通过 FTP / SCP / 文件管理器上传到import/目录下 - 登录 phpMyAdmin → 选目标数据库 → 点「导入」→ 在「从网站服务器上传文件夹 import/ 中选择:」下拉框里选中该文件 → 执行
✅ 成功标志:页面不再报上传错误,而是进入解析执行阶段;但注意:如果 SQL 文件含百万级 INSERT,仍可能因 max_execution_time 或内存耗尽中断——这时得看下一步。
导入中途卡住或超时?别硬扛,换 mysql 命令行
phpMyAdmin 是 PHP 写的 Web 工具,本质是把整个 SQL 读进内存再分段执行。哪怕上传成功,50MB+ 的单文件也极易触发 OOM 或超时。真正可靠的做法是跳过它。
终端执行(Linux/macOS):
mysql -u root -p database_name <p>Windows CMD(确保 <code>mysql</code> 在 PATH 中):</p> <pre class="brush:php;toolbar:false;">mysql -u root -p database_name <p>关键点:</p>
- 不需要提前创建数据库,可在命令前用
CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET utf8mb4; - 如果 SQL 文件开头没
USE database_name;,必须在命令里指定库名 - 遇到字符集问题(如乱码),加参数:
mysql -u root -p --default-character-set=utf8mb4 database_name - 超大文件(>500MB)可配合
pv查进度:pv large_db.sql | mysql -u root -p database_name
最后提醒一个容易被忽略的点
phpMyAdmin 5.2 的 $cfg['UploadDir'] 功能默认关闭,且只认相对路径(不能写 /var/www/import),必须是 phpMyAdmin 根目录下的子目录;同时该目录需有 Web 服务器用户(如 www-data)的读取权限——否则下拉框里看不到文件,也**不会报错**,只会显示空列表。检查方法:用浏览器直接访问 http://your-site/phpmyadmin/import/,应返回 403(有目录)或 404(无目录),绝不能是 200 + 列出文件(那说明目录裸露,有安全风险)。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











