通过 Nginx 中的 phpmyadmin 将 20mb SQL 文件导入 MySQL 时“连接已重置”

Posted

技术标签:

【中文标题】通过 Nginx 中的 phpmyadmin 将 20mb SQL 文件导入 MySQL 时“连接已重置”【英文标题】:“connection was reset” when importing a 20mb SQL file to MySQL via phpmyadmin in Nginx 【发布时间】:2018-08-13 20:59:37 【问题描述】:

在带有 Bash 的 Ubuntu 16.04 上,我使用 EditLine 包装器为 Linux (x86_64) 建立了一个带有 php 7.0、mysql 14.14 Distrib 5.7.21 的 LEMP 环境。

nginx 配置

nginx.conf(全部默认)。 nginx default(全部默认)。

PHP 配置

/etc/php/7.0/fpm/zz_overrides.ini:

zz_overrides.ini

[PHP]
post_max_size = 2000M
upload_max_filesize = 2000M
max_execution_time = 3000
cgi.fix_pathinfo=0

以这种方式启用:

ln -s /etc/php/*/fpm/zz_overrides.ini 20-overrides.ini

重置一切:

chown -R www-data:www-data "$drt"/
chmod -R a-x,a=rX,u+w "$drt"/
systemctl restart nginx.service
/etc/init.d/php*-fpm restart

当前状态

通过 Nginx 中的 phpmyadmin 将 20mb SQL 文件导入 MySQL 时,我得到“连接已重置”。

Nginx 错误日志中的错误:

2018/03/06 02:37:38 [error] 5623#5623: *42 client intended to send too large body: 21683799 bytes, client: 79.178.117.194, server: _, request: "POST /phpmyadmin/import.php HTTP/1.1", host: "159.65.94.190"

想要的状态

上传成功。

我的问题

鉴于我将最大上传量更改为 2000mb(顺便说一下,PHPmyadmin 似乎认识到了这一点),为什么我很小的 20mb sql 文件无法上传并出现该错误?

【问题讨论】:

【参考方案1】:

您将不得不增加 client_max_body_size 指令。

参考这个问题的答案

How to edit nginx.conf to increase file size upload

【讨论】:

以上是关于通过 Nginx 中的 phpmyadmin 将 20mb SQL 文件导入 MySQL 时“连接已重置”的主要内容,如果未能解决你的问题,请参考以下文章

phpMyAdmin + nginx + Arch Linux = 无法通过登录屏幕,需要建议

Ubuntu 14 + Nginx + PHPMyAdmin:如何通过 IP 地址限制访问?

Phpmyadmin 作为 Nginx 中的子域

使用反向代理在 Nginx 中的 PhpMyAdmin 错误显示

Nginx + Django + Phpmyadmin 配置

NGINX 没有在 phpmyadmin 中加载 PHP