Chinaunix首页 | 论坛 | 博客
  • 博客访问: 277627
  • 博文数量: 52
  • 博客积分: 120
  • 博客等级: 民兵
  • 技术积分: 1189
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-03 15:41
个人简介

MySQL DBA

文章分类

全部博文(52)

文章存档

2013年(51)

2011年(1)

分类: Mysql/postgreSQL

2013-03-07 13:18:21

Error:MySQL server has gone away

 在client与server交互过程中,出现此错误的原因为server主动关闭与client的连接。错误码:

Error code

Description

CR_SERVER_GONE_ERROR

向server发送查询失败

CR_SERVER_LOST

Client接收result失败

错误原因及解决方案汇总:

1.       连接被kill。如管理在show processlist后kill掉的连接。

2.       Client在于server断开连接后发送query。(程序bug)。

3.       Client所在host无权限访问mysql server。在程序运行中管理员修改权限并flush,client重连报错。

4.       Tcp/ip连接超时。调整超时参数:mysql_opt_read_timeout  mysql_opt_write_time。

5.       Wait_timeout。2次交互时间超过wait_timeout,将丢失连接。建议此参数设置:172800

6.       Interactive_timeout。Client与server交互过程中出现mysql主动关闭连接的超时时间。建议设置为172800。

7.       Max_allowed_packed。Query 数据包大于此参数时,server会主动断开连接。默认为1M。根据不同的业务适度调整。建议设置:16M。mysql 4.0及之前版本发送超过16M的包会丢失连接。

8.       域名解析失败。DNS server停止工作及网络超时。以及mysql 启动使用—skip-networking。

9.       线程冲突。Client中各子线程使用同一连接访问mysql ,部分子线程会出现此错误,解决办法为为每一个子线程创建单独的数据库访问连接。

10.   Mysql stop。在连接过程中,mysql server crash,正常关闭服务等。

   

11.   Max_connect_errors。Client断开mysql连接后重新请求连接超过最大错误连接数,mysql将其列入'black list'并永久拒绝其连接。建议此参数调整大一些。

   

12.   用户权限。访问账号的权限不满足其执行的query需要的权限。

阅读(1711) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~