目录

问题背景
在日常开发或数据迁移过程中,使用 mysql 或客户端工具Navicat/Dbeaver/DataGrip等导入 .sql 文件时,可能会遇到如下错误:
sql
ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes
问题原因
MYSQL限制了每次执行插入操作的数据最大值,超过最大值则报以上错误。这个系统参数: max_allowed_packet;一般情况下,服务器默认max-allowed-packet为1MB,客户端的max-allowed-packet为16MB。
解决方案
使用命令SHOW VARIABLES LIKE 'max_allowed_packet'; 可以查看这个值的大小
方案一:
-- 在MySQL客户端中执行
sql
SET GLOBAL max_allowed_packet = 512*1024*1024;
-- 然后退出重新连接,或者继续执行导入
方案二:
在MYSQL的配置文件my.ini中加入
bash
[mysqld]
max_allowed_packet = 512M
然后重启MYSQL。
好文推荐:
工作踩坑之MySql 5.7及以上版本使用select group by报错
工作踩坑之Collectors.toMap实战
工作踩坑之前端明明传值了,但是springboot为什么接收不到?到底是谁的坑?