mysql出现ERROR : 2006, 'MySQL server has gone away'
来源:互联网 发布:eplan绘图软件 编辑:程序博客网 时间:2024/05/22 15:43
使用Navicat运行SQL文件导入数据库时出现“ MySQL server has gone away”。
原因:SQL语句过大或者语句中含有BLOB或者longblob字段,超出了默认允许最大的数据包。
解决办法:在my.cnf文件中添加以下参数(windows中是my.ini文件)
wait_timeout=2880000 interactive_timeout = 2880000max_allowed_packet = 10M
wait_timeout:服务器关闭非交互连接之前等待活动的秒数。默认值:28800秒(8小时)
interactive_timeout:服务器关闭交互式连接前等待活动的秒数。默认值:28800秒(8小时)
交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议。
非交互式操作:就是你在你的项目中进行程序调用。比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接。那么这时候就是非交互式操作。
在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)。
如果这个值过大的话,很可能会造成大量的无用的闲置的连接存在,对数据库压力过大;如果设置的小,会增加系统服务器的业务压力。所以,设置为多大,得根据你的服务器的压力大小来配置的,可不是随便写一个数就行了的。
查看数据库的超时值,如下
show global variables like '%timeout';
取值范围是1-2147483(Windows),1-31536000(linux)
例如设置
interactive_timeout=31536000
无论超过最大限度多大的数值,在windows中只能被MySQL解析为2147483(约24.85天),2147483秒后你的程序该出什么错还是什么错,避免不了。
max_allowed_packet:包或任何生成的中间字符串的最大大小。包消息缓冲区初始化为net_buffer_length字节,需要时可以增加到max_allowed_packet的大小。
如果表中包含BLOB列或长字符串,就必须增加该值。
查看目前配置
show VARIABLES like '%max_allowed_packet%';
修改方法
在my.cnf文件中增加如下参数(windows中是my.ini文件)
max_allowed_packet = 10M
或者在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
- mysql出现ERROR : (2006, 'MySQL server has gone away')
- mysql出现ERROR : 2006, 'MySQL server has gone away'
- MYSQL Error 2006:MySQL server has gone away的解决方案
- 【MySQL】ERROR : (2006, 'MySQL server has gone away')
- MYSQL Error Code: 2006 – MySQL server has gone away
- MySQL错误 ERROR 2006 (HY000): MySQL server has gone away
- MySQL error: server has gone away
- mysql 同步线程出现ERROR 2006 (HY000): MySQL server has gone away
- mysql出现ERROR : (2006, 'MySQL server has gone away') 原因和解决方案
- Error Code: 2006 - MySQL server has gone away
- Error Code: 2006 – MySQL server has gone away
- Error Code: 2006 - MySQL server has gone away window
- ERROR 2006 (HY000): MySQL server has gone away
- Error Code: 2006 - MySQL server has gone away
- Error Code: 2006 - MySQL server has gone away
- MySQL server has gone away(error 2006)异常整理
- ERROR 2006 (HY000): MySQL server has gone away
- ERROR 2006 (HY000): MySQL server has gone away
- VB6 API获取并口、串口端口名和友好名
- 浅谈Linux进程
- JQuery学习总结
- markdown的初体验
- OC中对象的初始化
- mysql出现ERROR : 2006, 'MySQL server has gone away'
- 【JavaScript】数据类型
- hdu 1213 How Many Tables
- STL学习总结【菜鸟版】
- java IO流解析(四)
- jquery解除hover事件的绑定方式
- android自动化测试 input
- ubuntu 源设置 (解决版本不匹配以及更新源失效问题)
- UIRefreshControl菊花转圈