error: Got a packet bigger than ‘max_allowed_packet’ bytes

原创 2007年09月28日 11:41:00
  • 在使用 longtext 类型执行数据录入时,有时会抛出这个异常,
    从字面理解就是当前包大小超过 mysql 系统设置的包大小无法执行操作。
  • 解释一下包大小这个东西:简单来说就是mysql把当前执行的mysql语句看作是一个包,
    而对这个包大小的限制即是对当前mysql语句长度的限制。
  • 解决办法:
         (1)Linux 下:
进入服务器路径 /etc 找到 my.cnf 在里面的 mysqld 段中
找到 max_allowed_packet = 大小
修改到适当大小并保存,然后重新启动 mysql 服务器,即可。如果没有这行就增加这行。
(2)Windows下:
进入到mysql安装路径下,找到 my.ini 文件,在[mysqld]部分(不在这部分没用)添加一句:
set-variable=max_allowed_packet=大小。保存后重新起动mysql服务。

顺便说一下:那个大小的设置在 linux 下可以直接写 10M、20000K之类的
但是在windows下就只能换算成byte.
  • 修改后我就可以执行操作了
	string aa;
for (int i=0; i<1024*1024*3; i++)
{
aa += "a";
}
Query query = con.query();
query << "insert into btest values ('" + aa + "')";

cout << "Query: " << query.preview() << endl;
query.execute();
OK,成功,可以在 btest 表中查到长度为 1024*1024*3 byte 的一行数据。 

相关文章推荐

(数据库遭受攻击)Got a packet bigger than ‘max_allowed_packet’ bytes

Packet for query is too large (1425 > 1024). You can change this value on the server 数据库遭受攻击...

导入服务器数据库表报1153 - Got a packet bigger than 'max_allowed_packet' bytes问题

导入服务器数据库表报1153 - Got a packet bigger than 'max_allowed_packet' bytes问题 - 点滴积累...
  • zgcyyh
  • zgcyyh
  • 2017年05月31日 17:06
  • 195

MySQL数据库报错(会自动关闭):Got a packet bigger than 'max_allowed_packet' bytes

mysql数据库报错:Got a packet bigger than 'max_allowed_packet' bytes 今天从使用sqlyog从服务器上导出了一个sql文件,但是导入到本地的时候...

sql错误1301 Result of CONCAT() was larger than max_allowed_packet(1024)-truncated

sql错误1301 问题描述,CONCAT拼接JSON长字符串失败。注,括号内数字可变,为你的当前设置(估计是我这个版本的mysql默认值) 脑残解决方法:一个CONCAT()内不放太多参数 脑残原因...

MYSQL报错“Packets larger than max_allowed_packet are not allowed”

BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。 BLOB是一个大文件,典型的BL...

MySQL 错误 “MySQL server has gone away” 和 max_allowed_packet 配置

出错现象: 今天使用MySQL命令从备份文件还原数据库时, 提示“MySQL server has gone away” 错误。 原因: MySQL对处理的数据的大小有限制, MySQL服务端和...

mysql主从不同步之max_allowed_packet参数设置问题

mysql主从不同步之max_allowed_packet参数设置问题 服务器使用master-slave模式,突然发现slave上不同步master上的数据了。于是在slave上mysql...
  • hybaym
  • hybaym
  • 2013年07月05日 18:19
  • 740

Mysql max_allowed_packet 大小设置

这个问题貌似大家遇到的都比较多,我简单的记录一下今天遇到的问题。 查看错误日志发现: 131124 7:47:08 [ERROR] Error reading packet from se...

关于max_allowed_packet的修改,以及修改后总是自动重置1024

项目中查询的时候会好好的,但是有时候会突然间报错:packet for query is too large(2248>1024),you can change this value on the s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:error: Got a packet bigger than ‘max_allowed_packet’ bytes
举报原因:
原因补充:

(最多只允许输入30个字)