Docker、Window下,Mysql设置“max_allowed_packet”参数值,编辑my.ini文件找不到

前言:
mysql版本:5.7
系统:Windows
问题:
拉取数据到本地mysql时,出现错误提示:
PacketTooBigException: Packet for query is too large

解决方式:
一、通过navicat可视化工具修改 –服务重启时,还是会被重置为默认值
二、 通过my.ini文件修改"max_allowed_packet"参数值 –不会受服务重启改变

一、windows下修改:

1.可视化工具修改

1、输入命令,查看当前参数值

运行命令:
show VARIABLES like ‘max_allowed_packet’

在这里插入图片描述

2、设置max_allowed_packet值为200M

运行命令:
set global max_allowed_packet = 2 * 1024 * 1024 * 100

在这里插入图片描述

2.编辑my.ini文件修改

1、错误提示具体如下
在这里插入图片描述

很明显数据过大限制,而且提示我们可以通过修改"max_allowed_packet"参数值解决

2、在my.ini文件找到max_allowed_packet参数
在这里插入图片描述

解释:mysql数据默认在c盘,可能有人就去mysql安装目录找,却发现怎么也找不到,诶!我的mysql安装目录如下:

在这里插入图片描述

其实my.ini文件在跟mysql数据存储路径在一起,只要找到“\ProgramData”目录即可,如下:

在这里插入图片描述
3、编辑my.ini文件,修改 “max_allowed_packet” 为200M
在这里插入图片描述

二、Docker下mysql修改:

步骤:
1、查看mysql容器名称
2、进入myql容器下的 /etc/mysql 目录
3、编辑 my.cnf,最后添加一行 max_allowed_packet=20M

1、查看mysql容器名

docker ps

在这里插入图片描述

2、进入myql容器下的 /etc/mysql 目录

cd /etc/mysql

在这里插入图片描述

3、编辑 my.cnf文件

vim my.cnf

在这里插入图片描述

最后再执行sql就不会有问题了!

4、如果使用docker-compose,添加参数 command: --max_allowed_packet=209715200

version: "3"
services:
  data:
    image: "mysql:5.7"
    command: --max_allowed_packet=209715200 # Set max_allowed_packet to 256M (or any other value)
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=db
      - MYSQL_USER=user
      - MYSQL_PASSWORD=user_password

补充: vim不能使用的情况!

步骤:
1、查看linux系统
2、使用对应工具安装vim
3、RedHat系列:Redhat、Centos、Fedora等,包管理工具是 yum

执行 yum update
执行 yum -y install vim

4、Debian系列:Debian、Ubuntu等,包管理工具是 apt-get

执行 apt-get update
执行 apt-get -y install vim

Ending!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值