【MySQL】问题小结

31 篇文章 88 订阅

最近在提交新的代码之后,MySQL偶尔会抛出异常: 

(2006, 'MySQL server has gone away') 

这两天情况变得更糟糕,除了这个异常还有: 

thread.error: can't start new thread

重新检查了一遍代码之后,发现了两个问题:

(1)根目录/ 下的空间已经被用光了,对应的mysql错误日志会有相关提示:

2013-11-30 21:10:06 17202 [ERROR] /usr/local/mysql/bin/mysqld: Error writing file '/usr/local/mysql/mysql.pid' (Errcode: 28 - No space left on device)
2013-11-30 21:10:06 17202 [ERROR] Can't start server: can't create PID file: No space left on device
解决方法:清掉该目录下一些冗余的数据,腾出足够的空间就OK了。


(2)单个进程里创建了过多的MySQL连接,而又没有及时关闭,导致这些线程数超过了配置(thread_stack)的最大值。

解决方法:在单进程中缓存一个连接的线程,在进程创建时建立连接,在进程退出时关闭;而不是每次或几次有数据操作时就打开/关闭一次,开销太多了。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值