phpMyAdmin导入文件大小限制2M
phpMyAdmin import file size 2M limit
我在 php 7.0.7 & nginx 1.4.6 上使用 phpmyadmin(版本信息:4.0.10deb1)。当我尝试将 csv 文件导入其中一个表时,我看到 phpmyadmin 屏幕上指示的允许的最大大小为 2,048KiB 。然后我更改了 php.ini 中的设置(/etc/php/7.0/fpm/php.ini & /etc/php/7.0/cli/php.ini):
upload_max_filesize = 150M
post_max_size = 150M
memory_limit = -1
max_execution_time = 5000
max_input_time = 5000
更改了 /etc/nginx/nginx.conf 中的设置:
client_max_body_size 150M;
并重新启动 nginx:
service nginx restart
但没有任何改变。而且导入会失败。我该如何解决这个问题?谢谢
您还必须更改 mysql 服务器设置 my.ini 或 my.cnf 文件,方法是在 [mysqld] 部分下包含一行:
max_allowed_packet=500M
然后重新启动 MySQL 服务器。如果 500M 不够,请使用另一个值。
我咨询了我的DigitalOcean技术支持,发现了原因:我重启了Nginx,但没有重启php-fpm,这是Nginx的PHP进程。
在我尝试 service php7.0-fpm restart
之后,phpMyAdmin 现在显示(最大:150MiB)导入限制。并且导入有效!
就我而言,经过长时间的搜索,我为自己找到了一个新世界,它节省了太多时间和精力(即 SSH)
正在通过 SCP 上传然后通过 SSH 导入。
优点:
1- 与传统方法相比非常快。
2- 没有大小限制,无需编辑任何文件。
缺点:
无非是因为它不是可视化过程所以需要输入一些命令,你需要一些时间来熟悉它,你可能需要继续搜索一段时间但老实说最后你就会知道值得。
因此,首先将 db 文件上传到服务器中的某处(上传到哪里并不重要)。
scp path to/your file.sql user@server:/path-to-save-the-file
(出现提示时输入密码)(capnel 用户,显示在您的 cpanel 文件管理器的顶部,例如 home3/user/public_html/..)
请注意以下几点:
a. in some cases you will need a ssh key so look it up if that's your case.
b. If you are uploading folder and its content you need to add -r flag(i.e. scp -r ).
c. in my case i was uploading to aws cloud so -i flag is required in this case.
现在,通过 ssh 连接到你的服务器(我有 windows 10 台机器,所以从 powershell,bash 或 cmd)
ssh user@server
(出现提示时输入密码)
在我的 aws 案例中,它是 ( ssh -i key.pem ec2-user@Public IPv4 DNS )
cd /path-where-you- have-saved-the-file
然后..
mysql -u username -p databsename < your-file.sql (replace username and database name) (enter db user password when prompt).
我在 php 7.0.7 & nginx 1.4.6 上使用 phpmyadmin(版本信息:4.0.10deb1)。当我尝试将 csv 文件导入其中一个表时,我看到 phpmyadmin 屏幕上指示的允许的最大大小为 2,048KiB 。然后我更改了 php.ini 中的设置(/etc/php/7.0/fpm/php.ini & /etc/php/7.0/cli/php.ini):
upload_max_filesize = 150M
post_max_size = 150M
memory_limit = -1
max_execution_time = 5000
max_input_time = 5000
更改了 /etc/nginx/nginx.conf 中的设置:
client_max_body_size 150M;
并重新启动 nginx:
service nginx restart
但没有任何改变。而且导入会失败。我该如何解决这个问题?谢谢
您还必须更改 mysql 服务器设置 my.ini 或 my.cnf 文件,方法是在 [mysqld] 部分下包含一行:
max_allowed_packet=500M
然后重新启动 MySQL 服务器。如果 500M 不够,请使用另一个值。
我咨询了我的DigitalOcean技术支持,发现了原因:我重启了Nginx,但没有重启php-fpm,这是Nginx的PHP进程。
在我尝试 service php7.0-fpm restart
之后,phpMyAdmin 现在显示(最大:150MiB)导入限制。并且导入有效!
就我而言,经过长时间的搜索,我为自己找到了一个新世界,它节省了太多时间和精力(即 SSH)
正在通过 SCP 上传然后通过 SSH 导入。
优点:
1- 与传统方法相比非常快。
2- 没有大小限制,无需编辑任何文件。
缺点:
无非是因为它不是可视化过程所以需要输入一些命令,你需要一些时间来熟悉它,你可能需要继续搜索一段时间但老实说最后你就会知道值得。
因此,首先将 db 文件上传到服务器中的某处(上传到哪里并不重要)。
scp path to/your file.sql user@server:/path-to-save-the-file
(出现提示时输入密码)(capnel 用户,显示在您的 cpanel 文件管理器的顶部,例如 home3/user/public_html/..)
请注意以下几点:
a. in some cases you will need a ssh key so look it up if that's your case.
b. If you are uploading folder and its content you need to add -r flag(i.e. scp -r ).
c. in my case i was uploading to aws cloud so -i flag is required in this case.
现在,通过 ssh 连接到你的服务器(我有 windows 10 台机器,所以从 powershell,bash 或 cmd)
ssh user@server
(出现提示时输入密码)
在我的 aws 案例中,它是 ( ssh -i key.pem ec2-user@Public IPv4 DNS )
cd /path-where-you- have-saved-the-file
然后..
mysql -u username -p databsename < your-file.sql (replace username and database name) (enter db user password when prompt).