Mysql中max_allowed_packet参数设置的例子

今天研发人员在调试java程序的时候,发现了mysql报出如下问题:

java.lang.IllegalArgumentException: Packet is larger than max_allowed_packet from server configuration of 1048576 bytes

at org.gjt.mm.mysql.Buffer.ensureCapacity(Buffer.java:398)

at org.gjt.mm.mysql.Buffer.writeBytesNoNull(Buffer.java:386)

at org.gjt.mm.mysql.PreparedStatement.executeUpdate(PreparedStatement.java:352)

at com.cicro.cws.database.DBManager.execute(DBManager.java:450)

at com.cicro.cws.publish.PreparePublish.saveSiteInstanceXmlIntoDB(PreparePublish.java:827)

at com.cicro.cws.publish.PreparePublish.generatePublishFiles(PreparePublish.java:181)

at com.cicro.cws.publish.PublishManager.publish(PublishManager.java:180)

at com.cicro.cws.synchronize.InstanceSynchronize.publishSite(InstanceSynchronize.java:954)

at com.cicro.cws.site.Site.publish(Site.java:365)

at com.cicro.cws.site.Site.run(Site.java:338)

at java.lang.Thread.run(Thread.java:536)

解决如下:

这个问题是因为导入的sql文件大于系统默认的max_allowed_packet的值,解决方法:比如在my.cnf修改增加到:max_allowed_packet=32M #或者更高,当然也可以在mysqld启动的时候加入这个参数,但是该变量必须在mysqld重新启动的时候才加载生效,所以必须重起mysqld!

我是把max_allowed_packet参数加载到了mysql启动文件mysqld中,mysqld文件部分设置如下:

${MYSQL}/bin/mysqld --user=mysql --datadir=${MYSQL}/data "[email protected]" \

--language=${MYSQL}/share/mysql/english -O max_connections=500 -O wait_timeout=600 \

-O key_buffer=32M --max_allowed_packet=32M --port=${port} --socket=/tmp/mysql.sock &

其中 --max_allowed_packet=32M必须有前面的――符号。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/MySQL/

时间: 2016-01-08

Mysql中max_allowed_packet参数设置的例子的相关文章

mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)_Mysql

MySQL根据配置文件会限制Server接受的数据包大小.有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置: 复制代码 代码如下: show VARIABLES like '%max_allowed_packet%'; 显示的结果为: 复制代码 代码如下: +--------------------+---------+| Variable_name      | Value   |+--------------------+----

安卓开发中intent参数设置的问题?

问题描述 安卓开发中intent参数设置的问题? 比如intent =new intent(), 之后设置了intent.setData(uri),uri是一个xmpp的连接信息:/yangyang%40192.168.0.166%2FandroidN1amkysF,用setresult启动这个intent,不理解这个intent有什么用?没有设置action的话能用吗? 解决方案 intent意图的意思,你可以用它来告诉android需要做的事情,比如启动另外一个activity,携带数据,不

mysql中字符串索引问题与例子

  字符串索引与数字索引有一些方面如果没做好会非常的慢了,今天我们就一起来看看小编整理的一些mysql中字符串索引问题与例子了,因为字符索引相对来说也简单文章就简单的整理了一些例子,希望对各位有帮助. 事情的起因是线上日志发现的mysql慢查询.100万数据量的标准,联合查询全部走索引的情况下,尽然要600多毫秒.很不解,但是将索引列由varchar(50)型改为bigint型后,数据提升了30倍.究其原因就索引树上搜索时要进行大量的比较操作,而字符串的比较比整数的比较耗时的多. 所以建议一般情

数学-智能算法,中的参数设置问题

问题描述 智能算法,中的参数设置问题 粒子群算法中的参数怎么设置,有没有数学理论,是否要根据你的实验数据 解决方案 http://doc.mbalib.com/view/bc9add9d4108091eba446a9d0b3a787a.html 解决方案二: 关于EXECryptor参数设置的问题

MySQL中max_allowed_packet设置过小导致记录写入失败的解决办法

mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES like '%max_allowed_packet%'; 显示的结果为: +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet

MySQL中mysqldump参数使用说明

例 mysqldump备份: mysqldump -u用户名 -p密码 -h主机 数据库 a -w "sql条件" --lock-all-tables > 路径 mysqldump还原: mysqldump -u用户名 -p密码 -h主机 数据库 < 路径 mysqldump按条件导出: mysqldump -u用户名 -p密码 -h主机 数据库 a --where "条件语句" --no-建表> 路径 mysqldump -uroot -p123

Mysql中max_allowed_packet限制导致主从同步出错

Mysql主从运行有一段时间了,没有出过什么问题.但最近接着出了两次问题,记录下方便后面排查! Slave_IO_Running和Slave_SQL_Running均为YES,主从同步出错 首先还是确认下各服务器状态.查看主库状态正常,binlog position一直在变,进程状态也正常. mysql> show master status; +------------------+-----------+--------------+------------------+ | File   

Python 中方法参数 * 和 ** 的例子

在Python中* 和 ** 有特殊含义,他们与函数有关,在函数被调用时和函数声明时有着不同的行为.此处*号不代表C/C++的指针. 其中 * 表示的是元祖或是列表,而 ** 则表示字典 以下为 ** 的例子: 01 #--------------------第一种方式----------------------# 02 import httplib 03 def check_web_server(host,port,path): 04  h = httplib.HTTPConnection(h

Mysql中varchar长度设置方法_Mysql

如果某一项中设置的是varchar(50) 那么对英文当然是50 那么对中文呢 utf-8的中文占3个字节 那么,这个varchar(50)是不是只能存16个汉字了? mysql varchar(50) 不管中文 还是英文 都是存50个的 MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串.M 表示最大列长度.M的范围是0到65,535.(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节). 为何会这般变换?真