【Docker/MySQL】解决报错:2006-MySQLserver has gone away

【docker安装的MySQL导入sql脚本报错】

2006-MySQLserver has gone away

【原因】

导入的数据大于系统的限制的最大包大小插入的数据太大了,需要更改MySQL的默认配置

【解决方案】

找到 安装目录下的my.c n f配置文件,加入以下代码:

max_allowed_packet=500M

wait_timeout=288000

interactive_timeout = 288000

三个参数注释如下:

max_allowed_packet是mysql允许最大的数据包,也就是你发送的请求;

wait_timeout是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误。

max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度

【步骤】

1、 找到要修改的镜像
docker ps 

2、 进入要修改的镜像
docker exec -it 容器ID /bin/bash 

3、进入要修改的文件目录
cd /etc/mysql
  
4、 安装vim
如果不安装vim在使用vim的时候会报找不到,在修改docker中mysql的配置文件,无法使用vi命令。
apt-get update
apt-get install vim
  
4、修改my.cnf配置文件
vim my.cnf
  
5、退出容器
如果要退出bash有3种操作:1)exit;2)Ctrl + d 退出并停止容器;3)Ctrl + p + q 退出并在后台运行容器;

6、重启docker容器
docker restart 容器ID(mysql也行)
 

【另:如果第4步按照失败了】

可以把配置文件先拷贝出来,修改完再导入,如:

1、拷贝出来

docker cp mysql:/etc/mysql/my.cnf /home/

2、修改my.cnf

在[mysqld]下加入这几行:

max_allowed_packet=500M

wait_timeout=288000

interactive_timeout = 288000

3、替换原来文件

docker cp /home/my.cnf mysql:/etc/mysql/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小慌慌

感谢博友的鼓励,快乐分享~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值