Packet for query is too large解决方案
Packet for query is too large (5,196,813 > 4,194,304). You can change this value on the server by se
处理办法:1. 先查询,会看见一个现在的最大值show VARIABLES like '%max_allowed_packet%';2. 修改 ,默认为4M ,这里设置为 1Gset global max_allowed_packet = 1024*1024*1024;注意,上面的设置办法,属于临时方案。在数据库重启后,需要重新再设置。永久方案是修改数据库配置文件,这个方案就不写了,我也没试过。.
·
处理办法:
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
完工 !
所有评论(0)