博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 中com.mysql.jdbc.PacketTooBigException 解决办法
阅读量:2110 次
发布时间:2019-04-29

本文共 1269 字,大约阅读时间需要 4 分钟。

问题:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (23588610 > 20971520). You can change this value on the server by setting the max_allowed_packet’ variable.

原因: 一次性插入的数据超过了mysql 默认的server接收的数据包大小,因此需要调整mysql 默认的server接收的数据包大小。

  • MySQL会根据配置文件限制server接收的数据包大小

  • 在执行比较大数据插入或者更新的时候,会根据配置文件“max_allowed_packet ”参数所限制

解决方案:

修改配置,即是扩大配置限制

1.查看配置
  • 进入数据库,执行如下查询,查看MySQL配置
#show VARIABLES like '%max_allowed_packet%';mysql> show variables like '%max_allowed_packet%';+--------------------------+------------+| Variable_name            | Value      |+--------------------------+------------+| max_allowed_packet       | 20971520   || slave_max_allowed_packet | 1073741824 |+--------------------------+------------+2 rows in set (0.00 sec)
2、修改配置
  • 修改配置,即是扩大配置限制,将原配置20M调整为40M
#临时设置为40Mmysql> set global max_allowed_packet = 4*1024*1024*10;Query OK, 0 rows affected (0.00 sec)#关闭数据库连接后,重新连接数据库#查看配置是否生效mysql> show variables like '%max_allowed_packet%';+--------------------------+------------+| Variable_name            | Value      |+--------------------------+------------+| max_allowed_packet       | 41943040   || slave_max_allowed_packet | 1073741824 |+--------------------------+------------+2 rows in set (0.00 sec)
3、修改mysql配置文件,永久生效
max_allowed_packet = 40M

转载地址:http://bhfef.baihongyu.com/

你可能感兴趣的文章
【深度学习】GRU的结构图及公式
查看>>
【python】re模块常用方法
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 26. 数组中出现次数超过一半的数字
查看>>
剑指offer 27.二叉树的深度
查看>>
剑指offer 29.字符串的排列
查看>>
剑指offer 31.最小的k个树
查看>>
剑指offer 32.整数中1出现的次数
查看>>
剑指offer 33.第一个只出现一次的字符
查看>>
剑指offer 34.把数组排成最小的数
查看>>
剑指offer 35.数组中只出现一次的数字
查看>>
剑指offer 36.数字在排序数组中出现的次数
查看>>
剑指offer 37.数组中重复的数字
查看>>
剑指offer 38.丑数
查看>>
剑指offer 39.构建乘积数组
查看>>
剑指offer 57. 删除链表中重复的结点
查看>>