`
cuker919
  • 浏览: 97588 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql: Packet for query is too large 和Data too long for column

 
阅读更多

今天在用mysql开发项目的时候,用BLOB字段存储文件二进制流。


一、先是报异常

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1

发现上传的文件大于65535字符(mysql在UTF-8编码下汉字也是一个字符,跟oracle一个汉字3个字符不一样)

用show full fields from table_name; 查询的collation字段可以看到当前表的字符集。


一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。(0.06 M兆)

MEDIUMBLOB
MEDIUMTEXT
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。 (16M)

LONGBLOB
LONGTEXT
一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。(4G)


最后修改为LONGBLOB 解决第一个问题。


二、max_allowed_packet设置及问题

报的异常:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1521830 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable

mysql根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。
根据show VARIABLES like '%max_allowed_packet%'; 查询value值(字节)

解决方法,在my.ini里的[mysqld]增加如下部分
[mysqld]
max_allowed_packet=64M

注意,在[client]和[mysql]部分增加无效,那个是客户端读取的参数。

然后一定记住重启MYSQL服务(不是终端),使用net stop mysql + net start mysql 或者 cmd->services.msc重启MYSQL服务,这里仅限于Windows




分享到:
评论

相关推荐

    com.mysql.jdbc.PacketTooBigException: Packet for query is too large (11087 > 102

    在描述中提到的错误信息 "Packet for query is too large (11087 > 102)" 指明了问题的具体情况,即数据包的大小(11087字节)超出了MySQL默认允许的最大值102字节。 这个问题通常发生在以下几种情况: 1. **大数据...

    MySQL Packet for query is too large 问题及解决方法

    MySQL中的“Packet for query is too large”错误通常发生在尝试发送超过服务器允许的最大数据包大小的查询时。这个错误是由于`max_allowed_packet`系统变量的限制,它定义了MySQL服务器可以接收的最大数据量。默认...

    Mysql报错Packet for query is too large问题解决

    今天在往mysql中插入数据时遇到的问题,翻译过来的意思是:查询数据包太大 建议修改max_allowed_packet参数值。 针对我执行的插入操作来说,意味着一次性执行的sql语句太大,超过了mysql默认设置的值(我用的是...

    Mysql的longblob字段插入数据问题解决

    想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > 1048576). You can change this value on the server by setting the max_allowed_packet’ ...

    88秒插入1000万条数据到MySQL数据库表的操作方法

    com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). You can change this value on the server by setting the max_allowed_packet’ variable. 出现上面的错误是因为...

    2.9.1:Packet_Tracer_综合技巧练习 (1).pdf

    2.9.1:Packet_Tracer_综合技巧练习 (1).pdf

    4.7.1: Packet Tracer 综合技巧练习

    Packet Tracer不仅用于教育目的,帮助学生理解和掌握网络基础知识,同时也是网络工程师进行网络设计和故障排除的重要工具。 ### 二、拓扑图及设备信息 文档中给出的拓扑图包含了一台核心路由器(R1)、四台分支...

    MySQL批量插入和唯一索引问题的解决方法

    MySQL批量插入问题 ...nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (5677854 > 1048576). You can change this value on the server by setting the max_allowed_pac

    启动报错:验证加密狗无效 error:1001-mysql参数导致.docx

    nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1280 > 1024). You can change this value on the server by setting the max_allowed_packet' variable ``` - **...

    mysql5.7 修改max_allowed_packet方法

    如果设置得过小,则可能会遇到“packet for query is too large”的错误。默认情况下,`max_allowed_packet` 的值通常为1MB或更小,这对于大多数应用来说已经足够,但在处理大量数据时可能需要对其进行调整。 #### ...

    Packet Tracer 7.1.1 for Windows 64 bit.zip

    **Cisco Packet Tracer 7.1.1 for Windows 64 bit** 是一款由思科公司推出的强大网络模拟工具,专为教育和培训领域设计。它允许用户在虚拟环境中构建、配置、故障排除和管理网络,无需实际硬件设备。这款模拟器支持...

    packet tracer 5.0 使用教程

    Packet Tracer 5.0 是一个功能强大且实用的网络模拟工具,由 Cisco 开发,旨在帮助网络管理员和学生学习和实践网络技术。该软件提供了许多实用的功能和特性,包括网络设备模拟、协议分析、网络设计等。 Packet ...

    11.7.1Packet Tracer 综合技能练习

    11.7.1Packet Tracer 综合技能练习啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

    Cisco Packet Tracer.zip

    Cisco Packet Tracer是一款由思科系统公司推出的强大网络模拟工具,它为学习网络技术的初学者和专业人士提供了直观、互动的学习环境。该软件允许用户构建、配置、故障排除网络拓扑,并进行通信模式的模拟,从而深化...

    10.3.1.2 Packet Tracer - Skills Integration Challenge(1).pka

    10.3.1.2 Packet Tracer - Skills Integration Challenge(1).pka

    Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ….. this is incompatible with sq

    3、Can’t connect to local MySQL server through socket ‘/Data/mydata/mysql.sock’ socket文件目录不对应导致的问题 4、今天要说的就是 没有打开only_full_group_by Cause:...

    Mysql的max_allowed_packet设定

    当日志中出现了诸如:“Package for query is too large (xxxxxxxx > 4194304). You can change this value on the server by setting the max_allowed_package variable”的提示的时候,错误的本身就清楚的提示了...

    IseHarvest: TCP packet data re-assembler framework for network traffic content

    ### IseHarvest: TCP Packet Data Re-assembler Framework for Network Traffic Content #### 概述 IseHarvest 是一种网络分析工具,它被设计为一个框架,用于从 TCP 流中提取数据。一旦数据被提取出来,...

Global site tag (gtag.js) - Google Analytics