413 Request Entity Too Large 数据库导入报错完整解决
报错含义:上传的 SQL 数据库文件体积超出服务器 POST / 上传大小限制,网页端导入被拦截。
分 3 套方案,优先推荐方案 1(宝塔可视化修改),超大库直接用方案 3 本地导入。
方案 1:宝塔面板一键修改(LNMP/Nginx 环境,90% 源码站使用)
1. 修改 PHP 上传限制
- 宝塔左侧「软件商店」→ 找到你的 PHP 版本(7.4/8.0/8.1)→ 点击「设置」
- 切换到「配置文件」,修改 3 项参数:
ini
upload_max_filesize = 500M
post_max_size = 500M
memory_limit = 1024M
max_execution_time = 300
max_input_time = 300
- 保存,重启 PHP 服务。
2. 修改 Nginx 上传限制(关键,不修改仍报 413)
- 宝塔「网站」→ 对应站点 → 「配置文件」
- 在
server { }内部添加一行:
nginx
client_max_body_size 500M;
- 保存,重启 Nginx。
数值根据你的 SQL 大小调整,1G 数据库就填1024M。
方案 2:Apache 环境修改(少数主机)
站点配置文件添加:
apache
LimitRequestBody 524288000
同时同步修改 php.ini 上传参数,重启 Apache。
方案 3:超大数据库绕过网页上传(根治,推荐)
SQL 文件几百 M / 几 G 时,改配置也容易超时,直接不用网页导入:
方法 A:宝塔数据库命令行导入
- 宝塔左侧「数据库」→ 复制数据库名、账号、密码
- 左侧「终端」,执行导入命令(替换参数)
bash
运行
mysql -u数据库用户名 -p 数据库名 < /www/wwwroot/网站目录/数据库文件.sql
输入数据库密码等待导入完成。
方法 B:本地工具导入(Navicat/DBeaver)
- 宝塔数据库开启远程访问,放行 3306 端口
- 本地电脑打开 Navicat,远程连接服务器数据库
- 直接运行 SQL 文件,无上传大小限制,速度最快
方法 C:分割 SQL 小文件
用工具把大 SQL 拆分成 100M 以内小文件,分批网页导入。
补充注意
- 修改完配置必须重启对应服务(PHP、Nginx)才生效;
- 导入前清空网站缓存,避免后台异常;
- 虚拟主机 / 轻量云如果无法修改 Nginx 配置,只能用方案 3 本地导入。


没有回复内容