您的位置:首页 > 运维架构 > Docker

docker上部署的mysql设置在网络传输中一次消息传输量的最大值max_allowed_packet

2017-11-14 10:47 1166 查看


Packet for query is too large (12238 > 1024). You can change this value

程序登录时报了这个错,网上看是要去修改配置文件。
一种方法是直接通过sql语句SET GLOBAL max_allowed_packet=16*1024*1024,执行报错了。


另外一种方法是修改my.cnf文件,我的mysql是安装在ubuntu系统下,使用docker部署的,进入mysql容器里。
先通过docker ps 查看运行的容器,找到mysql的id,再通过docker inspect -f '{{.Id}}' 54ac4f0fcb67找到完整的id,进入容器的地址:cd /var/lib/docker/aufs/mnt/54ac4f0fcb670378db3ceb0110baee173156469d5e553ec1d82151da6caaace9



通过命令cd etc/mysql/ 进入配置目录,通过ls -all一路寻找发现my.cnf最终是指向了mysql.cnf。通过查看里面的内容发现他又包含了两个文件夹,具体需要修改的文件夹在mysql.conf.d下,进入此文件夹


进入文件夹可以看到mysqld.cnf文件,这里是具体的配置文件,对他进行修改,在symbolic-links=0换行加上设置
#设置在网络传输中一次消息传输量的最大值。系统默认值 为4MB,最大值是1GB,必须设置1024的倍数。
max_allowed_packet = 32M
保存,再重启mysql,这时候通过查询语句show VARIABLES like '%max_allowed_packet%';可以发现值一次最大传输量已经改了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: