首页 > 代码库 > Linux中MySQL数据库max_allowed_packet的调整
Linux中MySQL数据库max_allowed_packet的调整
在MySQL数据库里某表有一个blob字段,当上传文件超过1M的时候出现下面的错误:
PreparedStatementCallback; SQL [insert into uos.docfile(remark,content,email,addtime,filename) values (‘654645‘,?,‘ufo@163.com‘,NOW(),‘飞得更高-汪峰.mp3‘ )]; Packet for query is too large (6571400 > 1048576). You can change this value on the server by setting the max_allowed_packet‘ variable.; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (6571400 > 1048576). You can change this value on the server by setting the max_allowed_packet‘ variable.
这个问题是如下解决的。
用VI打开/etc/my.cnf,增加下面加粗的一行,这句话是把上传文件大小改到20M:
[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockmax_allowed_packet = 20Muser=mysql# Default to using old password format for compatibility with mysql 3.x# clients (those using the mysqlclient10 compatibility package).old_passwords=1# Disabling symbolic-links is recommended to prevent assorted security risks;# to do so, uncomment this line:# symbolic-links=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
修改完毕,保存退出。
使用命令#service mysqld restart
重启mysql服务,然后上传文件不能过大的问题就解决了。
Linux中MySQL数据库max_allowed_packet的调整
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。