【Docker/MySQL】解决报错:2006-MySQLserver has gone away
2023-09-11 14:17:00 时间
【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/
相关文章
- python之pip安装mysql-python失败
- MySQL 显示版本、端口、状态
- mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid) 的解决方法
- Docker中mysql修改配置导致无法启动的docker容器
- php mysql
- 我把MySQL运行在Docker上,差点完了……
- docker 基本命令 (CentOs7 Docker 17.03.1-ce)
- docker for windows--Windows 10 家庭中文版 21H2 安装Docker Desktop初体验
- 【MySQL进阶-04】深入理解mysql事务本质(超级详解)
- MySQL root修改普通用户密码及Mysql 修改root密码
- 使用navicat连接mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'
- Mysql命令mysql:连接Mysql数据库
- Windows 免安装版mysql,适用于版本MySQL 5.7.7及以上,快速配置教程
- MySQL利用xtrabackup在线修复或新增从库
- mysql数据插入前判断是否存在
- 浅析如何解决终端输入长命令不换行覆盖(Docker容器内输入长命令折行覆盖)问题:如何设置docker容器tty终端窗口大小-Linux stty命令设置串口终端行列数
- Python 3.2: 使用pymysql连接Mysql
- MySQL 安装步骤
- (5.5)mysql高可用系列——MySQL半同步复制(实践)
- Mysql中出现please use mysql_upgrade to fix this errot解决的办法
- [Mysql]8.0.28Community版本Windows下安装配置
- Eclipse中使用MySql遇到:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading o
- 【C#】使用NHibernate连接MySQL数据库及增删改查
- [Mysql] IF函数
- Docker安装MySQL