关闭

【MySQL】问题小结

2743人阅读 评论(0) 收藏 举报
分类:

最近在提交新的代码之后,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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1717886次
    • 积分:18432
    • 等级:
    • 排名:第522名
    • 原创:296篇
    • 转载:83篇
    • 译文:16篇
    • 评论:265条
    学习交流
    Email: moxiaomomo@gmail.com
    QQ:    809444138
    博客专栏
    最新评论