mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet 参数限制,致使写入或者更新失败。mysql
查看目前配置linux
show VARIABLES like '%max_allowed_packet%';sql
显示的结果为:数据库
+--------------------+---------+windows
| Variable_name | Value |命令行
+--------------------+---------+server
| max_allowed_packet | 1048576 |配置
+--------------------+---------+ grep
以上说明目前的配置是:1M方法
修改方法
一、修改配置文件
能够编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
若是找不到my.cnf能够经过
mysql --help | grep my.cnf
去寻找my.cnf文件。linux下该文件在/etc/下。
二、在mysql命令行中修改
在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
而后退出命令行,重启mysql服务,再进入。
show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否编辑成功
注意:该值设置太小将致使单个记录超过限制后写入数据库失败,且后续记录写入也将失败。