原因是查询结果集大小超出max_allowed_packet值
MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。
查看当前配置:
mysql> show variables like 'max_allowed_packet';
+--------------------+---------+ | Variable_name | Value |
+--------------------+---------+ | max_allowed_packet | 4194304 |
+--------------------+---------+ 1 row in set (0.00 sec)
也可以用select查看:
mysql> select @@max_allowed_packet;
+----------------------+ | @@max_allowed_packet |
+----------------------+ | 4194304 |
+----------------------+
1 row in set (0.00 sec)
修改方法(配置文件持久化修改):
vim /etc/my.cnf [mysqld]
max_allowed_packet = 100M
注意:修改配置文件以后,需要重启mysql服务才能生效。
这样导入sql就不会报错了。
评论列表(0条)