在 MySQL 中,导入文件的大小限制通常不是由 MySQL 本身直接限制为 50MB,而是由与你使用的工具或环境相关的设置决定的。以下是几种常见情况下取消 50MB 导入限制的方法:
✅ 一、如果你使用的是 phpMyAdmin(最常见的情况)
phpMyAdmin 的上传限制是由 PHP 配置文件 php.ini 控制的。
修改以下参数:
打开你的 php.ini 文件(路径可能因系统而异):
- Linux:
/etc/php/7.x/apache2/php.ini或/etc/php.ini - Windows:通常在 PHP 安装目录中
修改如下配置项:
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 500
max_input_time = 500
memory_limit = 128M
建议将
upload_max_filesize和post_max_size设置为你想上传的最大 SQL 文件大小,比如 100M、200M 等。
重启服务使配置生效:
- Apache/Nginx 或 PHP-FPM
sudo systemctl restart apache2 # 或 sudo systemctl restart php-fpm
✅ 二、如果你是用命令行导入(推荐大文件导入方式)
使用命令行导入没有上传限制,适合大于 50MB 的文件。
示例命令:
mysql -u 用户名 -p 数据库名 < 文件路径.sql
例如:
mysql -u root -p mydatabase < /home/user/backup.sql
这种方式不受 PHP 的上传限制影响,是最稳妥的大文件导入方法。
✅ 三、如果你使用的是 Nginx/Apache + PHP 的 Web 应用
除了上面提到的 php.ini 配置外,还可能受 Web 服务器(如 Nginx 或 Apache)的请求体大小限制影响。
对于 Nginx:
在配置文件中添加或修改:
http {
...
client_max_body_size 100M;
}
或者在站点配置中添加:
location ~ .php$ {
client_max_body_size 100M;
}
然后重启 Nginx:
sudo systemctl restart nginx
对于 Apache:
无需额外配置,一般不会限制 POST 大小,除非你自己设置了。
✅ 四、其他注意事项
- 如果你使用的是虚拟主机,无法修改
php.ini,可以尝试通过.htaccess或user.ini来调整部分参数。 - 使用
.htaccess添加:php_value upload_max_filesize 100M php_value post_max_size 100M
⚠️ 注意:某些托管服务商(如 Bluehost、HostGator)不允许更改这些值,需要联系客服或使用命令行导入。
✅ 总结
| 方法 | 是否受 50MB 限制 | 推荐用于 |
|---|---|---|
| phpMyAdmin 网页上传 | 是 | 小文件 |
| 命令行导入 | 否 | 大文件 |
| 修改 PHP 配置 | 是 | 自建服务器 |
| 修改 Nginx/Apache | 是 | Web 上传大文件 |
如果你告诉我你是如何导入 SQL 文件的(比如是否用 phpMyAdmin、命令行等),我可以给你更具体的解决方法。
云计算HECS