码迷,mamicode.com
首页 > 数据库 > 详细

Mysql异常Packet for query is too large (14040 > 1024)

时间:2017-03-11 21:44:05      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:ber   通过   参数   比较   print   replace   markdown   导致   show   

在使用Sqoop将Hive中的数据导出到MySQL的过程中遇到这样的一个异常,是导出到的数据库的max_allowed_packet设置的过小所致。
通过在数据库中执行命令:

mysql> show variables like ‘max_%packet‘;
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| max_allowed_packet | 268435456 |
+--------------------+-----------+
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6


上面是改变之后的值,但是网上多数是说修改my.cnf的时候,这个值直接加到mysqld下面,设置为20M以上的值即可,但是之前使用的配置中已经很高了,通过观察发现query_cache_limit值为1M试着改动该值之后发现max_allowed_packet这个值也有所改动.

max_allowed_packet参数
这个参数为接收的数据包的大小,该值取较小的值可以捕获数据包的异常,以及防止由于数据包过大而导致内存溢出。

query_cache_limit参数
该参数指定了单次查询缓存大小,不宜过大,如果数据比较多的情况下应该适当的加大该参数值,但是一般小数据量的查询不需要设置太大否则造成内存碎片。

Mysql异常Packet for query is too large (14040 > 1024)

标签:ber   通过   参数   比较   print   replace   markdown   导致   show   

原文地址:http://www.cnblogs.com/ydkf85/p/6536165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!