登录
首页 >  数据库 >  MySQL

【MySQL】com.mysql.jdbc.PacketTooBigException 异常解决

来源:SegmentFault

时间:2023-01-21 11:48:27 229浏览 收藏

有志者,事竟成!如果你在学习数据库,那么本文《【MySQL】com.mysql.jdbc.PacketTooBigException 异常解决》,就很适合你!文章讲解的知识点主要包括MySQL,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

遇到问题

  由于公司业务的扩展,需要博主将之前爬虫所爬取的数据进行导出成文件并打包加密成压缩包,同时在文件接收端进行文件解密解析和数据的入库,中间涉及到ftp传输。
  整个流程图如下(粗略画图):
  


  由于数据量比较大,所以每个Excel文件限制1W条数据,每5个 excel 执行一次打包操作,定时执行。
  前面过程一切正常执行,然而当数据进行分表入库的时候,这里执行了批量插入,控制台报以下异常:
  

问题原因

  出现以上异常是因为一次性插入的数据包超过了 MySQL 默认的 server 接受的数据包大小,因此需要调整 MySQL 默认的 server 接受的数据包大小。
  

解决方案

 1 查询MySQL最大允许接收的数据包

max_allowed_packet=20M

 3 重启 MySQL 服务,使步骤2中修改生效

 4 查询MySQL最大允许接收的数据包是否生效

SHOW VARIABLES LIKE '%max_allowed_packet%'

  修改生效后,重新运行程序,程序正常执行不再报此异常。

好了,本文到此结束,带大家了解了《【MySQL】com.mysql.jdbc.PacketTooBigException 异常解决》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多数据库知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表