应调整PHP配置、phpMyAdmin设置并改用命令行导入:修改max_execution_time为3600、memory_limit为1024M、post_max_size和upload_max_filesize为2048M;在phpMyAdmin配置中添加上传目录及限制参数并新建upload文件夹;最后通过mysql -u root -p 数据库名 < /www/backup/large_db.sql命令行导入。

如果您在宝塔面板中导入大型SQL文件时遇到报错或连接中断,通常是因为PHP执行时间限制、内存限制或Nginx/Apache请求体大小限制导致导入过程被强制终止。以下是解决此问题的步骤:
一、调整PHP配置参数
宝塔面板默认的PHP配置对大体积SQL文件导入支持不足,需手动延长脚本执行时间和提升内存上限。
1、进入宝塔面板 → 网站 → PHP管理 → 设置 → 配置修改
2、将 max_execution_time 值修改为 3600(即1小时)
3、将 memory_limit 值修改为 1024M 或更高
4、将 post_max_size 和 upload_max_filesize 均设为 2048M
5、点击“保存”并重启对应PHP版本服务
二、修改phpMyAdmin上传限制
宝塔内置的phpMyAdmin使用独立配置,其上传限制不受全局PHP设置影响,需单独调整。
1、进入宝塔面板 → 软件商店 → 找到已安装的phpMyAdmin → 设置 → 配置修改
2、在配置文件末尾添加以下三行:
$cfg['UploadDir'] = 'upload';
$cfg['SaveDir'] = 'save';
ini_set('upload_max_filesize', '2048M'); ini_set('post_max_size', '2048M'); ini_set('max_execution_time', '3600');
3、在phpMyAdmin根目录(如 /www/server/phpmyadmin/)下新建名为 upload 的空文件夹,并设置权限为755
4、重启phpMyAdmin服务
三、使用命令行导入替代Web界面
绕过Web层所有超时与上传限制,直接通过MySQL客户端执行SQL导入,适用于GB级数据库文件。
1、将SQL文件上传至服务器任意目录,例如 /www/backup/large_db.sql
2、在宝塔终端中执行命令:mysql -u root -p 数据库名
3、输入MySQL root密码后等待执行完成(期间无进度提示,勿中断SSH连接)
4、如遇字符集错误,可追加参数:mysql -u root -p --default-character-set=utf8mb4 数据库名
四、拆分超大SQL文件后分批导入
当单个SQL文件超过2GB或含大量复杂结构时,即使调高限制仍可能失败,此时应优先拆分文件。
1、在本地或服务器使用工具 split-sql 或 BigDump 进行切割
2、若使用Linux服务器,运行:sed -e '/^--/d' /www/backup/large_db.sql | split -l 5000 - /www/backup/part_
3、为每个分割文件头部添加 USE \`数据库名\`; 语句
4、依次在phpMyAdmin中导入各part_*文件,或使用命令行逐个执行:mysql -u root -p 数据库名
五、调整Web服务器请求体大小限制
Nginx或Apache会对客户端请求体(包括文件上传)设定硬性上限,超出则直接返回413错误,必须同步调整。
1、进入宝塔面板 → 软件商店 → Nginx/Apache → 设置 → 配置修改
2、在Nginx配置中,在 http{} 块内添加:client_max_body_size 2048m;
3、在Apache配置中,在 IfModule mod_php.c 段落内添加:php_value upload_max_filesize 2048M 与 php_value post_max_size 2048M
4、保存配置并重启对应Web服务器










