默认的mysql导入数据库的文件不都超过10m,但是项目中很多时候数据库文件不会就这么点。那要导入的数据库文件比较大怎么办呢
mysql中不是所有长度的sql语句都会成功的处理,有时候会根据配置文件的max_allowed_packet值限制server接受的数据包大小.
有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败,该值设置过小将导致单个记录超过限制后写入数据库失败,且后续记录写入也将失败.
mysql where 中的in 中参数的个数就受到max_allowed_packet 的限制,max_allowed_packet参数的默认值是1M.
修改max_allowed_packet参数的方法:
1),方法1
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改,参数的最大值是1GB.
max_allowed_packet = 10M
下如果找不到my.cnf可以通过下面命令查找
mysql –help | grep my.cnf
2),方法2
进入mysql server,在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
然后关闭掉这此mysql server链接,再进入.
show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否编辑成功.
MySQL导入数据库文件最大限制2048KB和phpmyadmin导入数据最大限制2048KB的解决方法
解决办法:
1、打开php.ini。找到 upload_max_filesize 、 memory_limit 、 post_max_size 这三个参数!
(在默认的情况下,php只允许最大的上传数据为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一样)
3、改完之后,我重新启动系统,再重新执行导入命令后:
Import has been successfully finished, 399 queries executed.
(显示导入成功,有多少个请求处理成功…)
(备注:改完后当你在到phpMyadmin的导入命令行时,虽然(有时候可能会仍然显示为:最大限制:2048KB/Max: 2,048KiB);但实际上你已经可以导入不超过8M的MySQL数据库.sql导出的备份文件了! 另,改完php.ini后,别忘了重启一下web服务或者是服务器哟!重启后升效!)
就此记录,希望对遇到同样问题的朋友有所帮助~
本地测试php程序的程序,经常需要通过Phpmyadmin导入数据库文件,碰到phpmyadmin导入数据最大限制2048KB出错。
错误提示:You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit。
原来用phpmyadmin导入mysql数据库时,默认mysql数据库最大只能导入2M。
还没有人抢沙发呢~