MySQL server has gone away错误的解决办法

在我们使用mysql导入大文件sql时可能会报MySQL server has gone away错误,该问题是max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功。该项的作用是限制mysql服务端接收到的包的大小,因此如果导入的文件过大则可能会超过该项设置的值从而导致导入不成功!下面我们来看一下如何查看以及设置该项的值。

查看 max_allowed_packet 的值

show global variables like ‘max_allowed_packet‘;
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+

可以看到默认情况下该项的大小只有4M,接下来将该值设置成150M(1024*1024*150)

set global max_allowed_packet=157286400;

此时再查看大小

show global variables like ‘max_allowed_packet‘;

通过调大该值,一般来说再次导入数据量大的sql应该就能成功了,如果任然报错,则继续再调大一些就行,请注意通过在命令行中进行设置只对当前有效,重启mysql服务之后则恢复默认值,但可以通过修改配置文件(可以在配置文件my.cnf中添加max_allowed_packet=150M即可)来达到永久有效的目的,可其实我们并不是经常有这种大量数据的导入操作,所以个人觉得通过命令行使得当前配置生效即可,没有必要修改配置文件。

原文地址:https://www.cnblogs.com/railgunman/p/12121616.html

时间: 2024-08-27 04:36:21

MySQL server has gone away错误的解决办法的相关文章

mysql导入大量数据时报MySQL server has gone away错误的解决办法

在我们使用mysql导入大文件sql时可能会报MySQL server has gone away错误,该问题是max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功.该项的作用是限制mysql服务端接收到的包的大小,因此如果导入的文件过大则可能会超过该项设置的值从而导致导入不成功!下面我们来看一下如何查看以及设置该项的值. 查看 max_allowed_packet 的值 mysql> show global variables like 'max

python测试开发django-58.MySQL server has gone away错误的解决办法

前言 使用django执行sql相关操作的时候,出现一个"MySQL server has gone away"错误,后来查了下是sql执行过程中,导入的文件较大时候,会出现这个异常. 检查了下sql语句,确实有插入图片,图片较大导致出现MySQL server has gone away. 该问题是max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功. 该项的作用是限制mysql服务端接收到的包的大小,因此如果导入的文件过大则可能会超过

Lost connection to MySQL server at 'reading authorization packet' 处理解决办法

Mysql Version : 5.1.73 Os Version : Centos 5.9 问题叙述: 今天一个php程序从客户端连接Mysql被监测到在偶尔的连接过程中报错,信息如下: Lost connection to MySQL server at 'reading authorization packet',看到这个错误提示,第一想到是客户端连接不上,服务端本地是否能连接.经验证,服务端本地是可以连接的,这就松了口气,一方面有很多任务是跑在Mysql服务端的,如果本地无法连接,会造成

安装mysql时 Write configuration file 错误的解决办法

原因1:mysql的安装路径不能包含字符或者中文. 原因2:select a server type时选择了Server Machine项,write configuration file报错. 解决办法:修改安装路径重新安装.select a server type选择developer Machine项(开发测试类选用)

MySql Server 完全删除之【完美解决办法】

『关于』相信有不少童鞋在安装MySql server时都会碰到安装失败的时候,希望在这时候我的这篇文章能对你有所帮助. 首先,关闭Windows防火墙:其次,关闭MySql服务(右键[我的电脑],点击[管理],进入[服务],找到[MySql]并关闭):接下来进行如下步骤: 步骤一:打开你安装[MySql]的文件夹,删除所有文件. 步骤二: 打开[控制面板],进入[程序和功能],找到[MySql]程序,卸载. 步骤三: [win7系统]C:\Documents and Settings\All U

关于MySQL错误 2005 - Unknown MySQL server host 'localhost' (0) 原因及解决方法

今天在外面开navicat for mysql的时候,怎么也连不上自己本机上的数据库,一直显示2005 - Unknown MySQL server host 'localhost' (0): 错误代码的意思即无法连接上主机localhost.可能是由于没有联网造成的:于是将连接属性里的 '主机名或IP地址' 改成127.0.0.1即回送地址后,就可以连接上了.上百度搜了下,navicat里的一些功能应该是要联网的,而localhost是需要DNS解析后才会是127.0.0.1的,所以才会导致这

Navicat中MySQL server has gone away错误怎么办【转载】

转载链接:http://www.111cn.net/database/mysql/64073.htm mysql数据库出现MySQL server has gone away错误一般是sql语句太大导致了,下面们在使用Navicat中操作数据库时提示MySQL server has gone away问题解决办法. 备份数据时,生成的sql文件比较大,当然,这个sql是包含了比较多的冗余数据.用Navicat直接导入的话,报错MySQL server has gone away.如下图所示: 解

mysql_ping()以及MYSQL_OPT_RECONNECT MySQL server has gone away”错误

来源:http://www.felix021.com/blog/read.php?2102 昨天@Zind同学找到我之前的一篇blog(已经修改),里面提到了mysql_ping和MYSQL_OPT_RECONNECT的一些事情. 之所以写那篇blog,是因为去年写的一些代码遇到了"2006:MySQL server has gone away"错误.这个问题是因为wait_timeout这个参数的默认值是28800,也就是说,如果一个连接连续8个小时没有任何请求,那么Server端就

SQL SERVER 报:由于数据移动,未能继续以 NOLOCK 方式扫描错误的解决办法。

比如在某个表中使用 select xxx from xxx with(nolock) where xxxx 查询. 提示出错:由于数据移动,未能继续以 NOLOCK 方式扫描. 它有可能某些条件出错,某些条件不出错. 原因是有可能该表在物理文件存储中某一块数据损坏了.或者该表中的索引和表的数据不一致了. 解决办法-如果是整个库出错可以使用: 1.快速修复DBCC CHECKDB ('数据库名', REPAIR_FAST)     2.重建索引并修复DBCC CHECKDB ('数据库名', RE