zoukankan      html  css  js  c++  java
  • MySQL报错Packet for query is too large问题解决

    今天用java写了批量插入运行时,报错:

    Error updating database.  Cause: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (1,399,241 > 1,048,576). You can change this value on the server by setting the 'max_allowed_packet' variable.

    出现问题的原因:批量插入数据量过大

    MySQL根据配置文件会限制Server接受的数据包大小。有时候插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。

    mysql> show VARIABLES like '%max_allowed_packet%';
    +--------------------------+------------+
    | Variable_name | Value |
    +--------------------------+------------+
    | max_allowed_packet | 1048576 |
    | slave_max_allowed_packet | 1073741824 |
    +--------------------------+------------+

    说明:

      1*1024*1024 = 1048576 =1M

    解决办法

    修改mysql配置文件 windows下 my.ini

    在[mysqld]下添加

    max_allowed_packet = 524288000

    说明:

      500*1024*1024 =524288000=500M

    修改完成之后要重启mysql

    mysql> show VARIABLES like '%max_allowed_packet%';
    +--------------------------+------------+
    | Variable_name | Value |
    +--------------------------+------------+
    | max_allowed_packet | 524288000 |
    | slave_max_allowed_packet | 1073741824 |
    +--------------------------+------------+

      

  • 相关阅读:
    原生js实现简单的全屏滚动
    原生拖拽js利用localstorage保存位置
    vue组件利用formdata图片预览以及上传
    手机端原生js实现下拉刷新数据
    读啥技术服务支持
    涂鸦壁纸技术服务支持
    JAVA基础面试题
    JAVA编程入门
    DOS常用命令及进制转换
    JS基础(事件的绑定)
  • 原文地址:https://www.cnblogs.com/baby123/p/11288166.html
Copyright © 2011-2022 走看看