解决.sql大文件无法导入的问题 phpmyadmin 上传文件大小限制的解决方法
用Navicat for MySQL 这个软件中的批处理任务导入.sql文件,经常会出现错误乱码的现象,所以一般用phpmyadmin导入文件和导出文件不会出现乱码的现象
但是 使用phpmyadmin导入.sql文件时有一个限制,开始是不能大于2M,所以要对php.ini的参数进行更改,以下是更改方法,更改后需要重新启动;
一般几十M的文件 都没有问题,我本地测试了100M的.sql文件都可以导入,当修改好php.ini的参数后,如果文件太大,浏览器会出现假死的现象,这里建议还是把内存设置调大一点,还要看机器的硬件支持了;
假死就等长一点时间,可以在任务管理器中看到mysql nt的进程使用很大,所以一般是内存不足的原因,最后看到
Import has been successfully finished, 2262 queries executed.
这一句就是说明所有的数据都成功导入了
下面是php.ini的参数设置
1、打开php.ini。找到 upload_max_filesize 、 memory_limit 、 post_max_size 这三个参数!
(在默认的情况下,phpmyadmin只允许最大的上传数据为2M,也就是2048KB,而极限的最大使用内存memory_limit也仅为128M,Post的最大也为2M)
2、按您的服务器的实际性能配置进行如下改动:(注意:以下是按我的服务器性能有硬件配置进行的更改..)
upload_max_filesize = 8M (上传最大极限设定为8M,这个应该足够一般的文件WEB上传了)
memory_limit = 512M (因为服务器的内存为2GB,所以这里加到512M不过份吧)
post_max_size = 8M (Post数据最大也设置为8MB,这个跟upload_max一样)
1、修改phpmyadmin config配置文件中的$cfg[‘ExecTimeLimit’]配置选项,默认值是300,需要修改为0,即没有时间限制。
2、修改phpmyadmin安装根目录下的import页面中的$memory_limit
说明:首选读取php.ini配置文件中的内存配置选项memory_limit,如果为空则默认内存大小限制为2M,如果没有限制则内存大小限制为10M,你可以结合你php.ini配置文件中的相关信息修改这段代码。
3、改完之后,我再重新执行导入命令后:
Import has been successfully finished, 399 queries executed.
(显示导入成功,有多少个请求处理成功…)
(备注:改完后当你在到phpMyadmin的导入命令行时,虽然(有时候可能会仍然显示为:最大限制:2048KB/Max: 2,048KiB);但实际上你已经可以导入不超过8M的数据库gzip导出的备份文件了! 另,改完php.ini后,别忘了重启一下web服务或者是服务器哟!重启后升效!)