mysql max_allowed_packet 值太小更新数据异常(com.mysql.jdbc.PacketTooBigException)

max_allowed_packet 的值太小,会导致插入和更新数据失败。

一、登录mysql查看当前配置

show VARIABLES like '%max_allowed_packet%';

+-------------------------------------+------------+
| Variable_name                        |   Value     |
+-------------------------------------+------------+
| max_allowed_packet                | 1024       |
| slave_max_allowed_packet       | 1073741824 |
+-------------------------------------+------------+

二、修改配置文件

1、直接修改配置文件(my.cnf)

    max_allowed_packet=20M

注:如果找不文件,可以通过 

     mysql --help | grep my.cnf 命令查找文件

2、使用mysql命令修改

    登录mysql

    执行: set global max_allowed_packet = 2*1024*1024*10

    退出命令行,重启mysql。

    service mysqld stop (停止)

    service mysqld start (启动)

    service mysqld restart (重启)

3、检测是否修改成功

    登录mysql 

    show VARIABLES like '%max_allowed_packet%';

+-------------------------------------+------------+
| Variable_name                        |   Value     |
+-------------------------------------+------------+
| max_allowed_packet                | 1048576  |
| slave_max_allowed_packet       | 1073741824 |
+-------------------------------------+------------+

   

原文地址:https://www.cnblogs.com/bmw320li/p/6893234.html