Packet for query is too large (5,196,813 > 4,194,304). You can change this value on the server by se

14 篇文章 1 订阅
2 篇文章 0 订阅
本文介绍了如何在Docker容器内的MySQL服务中临时及永久修改max_allowed_packet参数,以解决大数据包传输问题。步骤包括查询当前最大值、设置临时值以及通过编辑配置文件实现永久修改。此外,还提供了进入Docker容器、编辑my.cnf文件的具体操作流程,最后重启容器使改动生效。
摘要由CSDN通过智能技术生成

处理办法:

1. 先查询,会看见一个现在的最大值

show VARIABLES like '%max_allowed_packet%';

2. 修改 ,默认为4M ,这里设置为 1G (修改之后,需要新打开查询页面,查询。不然在本页面始终查询的都是没有修改前的值

set global max_allowed_packet = 1024*1024*1024; 

注意,上面的设置办法,属于临时方案。在数据库重启后,将会失效,需要重新再设置。

永久方案是修改数据库配置文件,这个方案就不写了,我也没试过。

2021-10-19 再编辑

写一个docker容器中, 修改mysql配置文件的方法,不同版本的msyql可能再docker中配置文件放的位置不太一样。

1. 进入docker

docker ps -a

结果:

[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS        PORTS                                                  NAMES
5170a76f5756   8cf625070931   "docker-entrypoint.s…"   2 months ago   Up 18 hours   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mymysql

2. 进入该容器内部

docker exec -it mymysql /bin/bash

结果:

[root@localhost ~]# docker exec -it mymysql /bin/bash
root@5170a76f5756:/# 

3. 进入到配置文件目录

root@5170a76f5756:/# cd /etc/mysql/  
root@5170a76f5756:/etc/mysql# ls
conf.d  my.cnf  my.cnf.fallback  mysql.cnf  mysql.conf.d

4. 编辑 my.cnf  里面加上一句,并保存

max_allowed_packet = 1024M

 结果是这样子的:

5. 保存好之后退出 ,命令:  exit
6. 重启该容器,命令

docker restart mymysql

完工 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值