且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux中MySQL数据库max_allowed_packet的调整

更新时间:2022-09-11 19:29:26

在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:

Linux中MySQL数据库max_allowed_packet的调整
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_allowed_packet = 20M
user=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.log
pid-file=/var/run/mysqld/mysqld.pid
Linux中MySQL数据库max_allowed_packet的调整

修改完毕,保存退出。

使用命令#service mysqld restart

重启mysql服务,然后上传文件不能过大的问题就解决了。












本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/xiandedanteng/p/4168854.html,如需转载请自行联系原作者