现在的位置: 首页 > 综合 > 正文

【MySQL】问题小结

2017年10月27日 ⁄ 综合 ⁄ 共 548字 ⁄ 字号 评论关闭

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

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

抱歉!评论已关闭.