工作踩坑之导入数据库报错:Got a packet bigger than ‘max_allowed_packet‘ bytes

目录

问题背景

在日常开发或数据迁移过程中,使用 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为什么接收不到?到底是谁的坑?

相关推荐
Omics Pro14 小时前
深度学习多组学互作:组内+组间
数据库·人工智能·深度学习·mysql·搜索引擎·自然语言处理
凌虚14 小时前
AI 时代,程序员会消失吗?
人工智能·后端·程序员
爱吃牛肉的大老虎14 小时前
rust基础之环境搭建
java·开发语言·rust
用户83562907805115 小时前
使用 Python 在 Excel 中添加和自定义文本框
后端·python
残*影15 小时前
如何优雅地保存MySQL数据变更历史?
数据库·mysql
tellmewhoisi15 小时前
多版本共用redis的token有效期校验(过期重新登录)
java·redis·缓存
疯狂打码的少年15 小时前
【软件工程】结构化设计:模块独立性与耦合内聚
java·开发语言·笔记·软件工程
乐观的Terry15 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程
干到60岁退休的码农15 小时前
SpringMVC实现Restful api请求方法
后端·restful