MySQL5.7 2006:MySQL server has gone away解决办法

我们在导入sql文件时,由于数据过大,而发生错误。笔者这几天遇到了想MySQL数据库中许多错误,这就是其中一个。

发生这个错误说明你即将导入的数据包过大,默认允许4M。

两个办法:
一、命令行修改:
在这里插入图片描述
这里笔者已经修改了,再修改一次也无妨。
在这里插入图片描述

注意看!!!

max_allowed_packet这里是以字节为单位的,也可以直接写500M。笔者用的是5.7版本,其他版本了解不是很多。但是如果你的my.ini配置文件在bin目录下,这样的修改是暂时的,如果重启服务就会重新变成4M。按道理来说,重启服务是应该使用配置文件的值,而不是你修改的,亲测这样去set,只是“短暂”的效果,重启服务后,还是使用的是默认值。添加默认值参照第二种办法,第一种方法只适用临时或者一次接收很大文件的情况。但是也请读者看完下面的文章。

在网上就有很多说在bin目录下添加my.ini文件的,不错,这样是可以添加。但是你不会使用到配置文件中的值,因为它是无效的。正确的做法是在最开始初始化MySQL的时候,在你安装目录下添加my.ini配置文件,修改这个文件才是有效的。

笔者在安装的时候看到有贴子说bin目录下添加my.ini文件,即使我删除之后再外面添加,也是无效的,可能是在初始化的时候设置了一些东西,我的做法是重新安装,之后文章会讲解如何完全删除MySQL数据库及重装。目前就重装吧。接下来看第二种办法。
在这里插入图片描述
第二个办法是在my.ini配置文件中配置max_allowed_packet参数,修改之后重启服务,就可以永久修改。再次提示,如果在my.ini在bin目录下,即使你修改了配置文件,它是没有生效的,亲测。

[mysqld]
port = 3306
basedir=G:\mysql-5.7.27-winx64
# MySQL程序安装目录
datadir=G:\mysql-5.7.27-winx64\data 
# 数据库文件存放地址
max_connections=20
# 最大连接数
character-set-server=utf8
default-storage-engine=INNODB
# 数据库默认使用引擎
max_allowed_packet = 500M

[mysql]
default-character-set=utf8
# mysql客户端默认的字符集,5.7才有的,5.6以及之前的版本没有default-character-set属性

以上就是我的my.ini配置文件有兴趣的可以参考一下,顺便说一下max_allowed_packet参数可以大可以小,只要能读取sql文件不报错就行。

之后会有MySQL数据库性能调优的文章,教你如何快速插入数据,你是否插入数据时电脑卡顿?是否硬盘占用率很高而打开什么都很卡?请关注接下来文章。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值