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

    xiaoxiao2021-03-26  10

    问题描述:

    报错信息:

    Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the server by setting the max_allowed_packet' variable MySQL根据配置文件会限制Server接受的数据包大小。有时候插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。

    查看 max_allowed_packet 参数:

    在客户端执行:

    show VARIABLES like '%max_allowed_packet%'; 得到结果如下:

    +--------------------+------------+ | Variable_name | Value | +--------------------+-------------------+ | max_allowed_packet | 1024 | +--------------------+-------------------+ 修改方法:

    1、修改配置文件

    可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

    max_allowed_packet = 20M

    如果找不到my.cnf可以通过

    mysql --help | grep my.cnf

    去寻找my.cnf文件。

    linux下该文件在/etc/下。

    2、在mysql命令行中修改

    set global max_allowed_packet = 2*1024*1024*10 //这里的数值为字节数,这里改为20M,需要重新登陆客户端起作用 注:在客户端用命令修改后,只能暂时起作用,重新启动MYSQL后,会恢复原来的值。

    转载请注明原文地址: https://ju.6miu.com/read-600311.html

    最新回复(0)