《Mysql實(shí)例mysql中一個(gè)普通ERROR 1135 (HY000)錯(cuò)誤引發(fā)的血案》要點(diǎn):
本文介紹了Mysql實(shí)例mysql中一個(gè)普通ERROR 1135 (HY000)錯(cuò)誤引發(fā)的血案,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
今天接到測(cè)試人員反應(yīng),測(cè)試環(huán)境前端應(yīng)用程序無(wú)連接mysql數(shù)據(jù)庫(kù),登錄mysql服務(wù)器,查看錯(cuò)誤日志,發(fā)現(xiàn)有如下報(bào)錯(cuò):MYSQL必讀
ERROR 1135 (HY000): Can't create a new thread (errno 11);if you are not out of available memory,you can consult the manual for a possible OS-dependent bugMYSQL必讀
第一反應(yīng)感覺可能是跟ulimit限制連接數(shù)有關(guān),文件描述符不夠用.接下來(lái)檢查配置件 /etc/security/limits.conf 相關(guān)結(jié)果如下:MYSQL必讀
配置沒有問題,mysql的ulimit限制已經(jīng)打開.MYSQL必讀
但是,執(zhí)行如下命令:MYSQL必讀
發(fā)現(xiàn)max user processes值仍為1024.MYSQL必讀
而在Centos5里面,只須在/etc/security/limits.conf添加如下兩行:
?
點(diǎn)擊(此處)折疊或打開
root soft nofile 65535
root hard nofile 65535
?
對(duì)應(yīng)的uilmit? -u 就會(huì)是65535.
?
后來(lái)猜想centos6的用戶的ulimit限制是不是還有其他的配置文件做相關(guān)的限制呢?果不其然,發(fā)現(xiàn)在 /etc/security/limits.d/目錄下,有一個(gè)名為:90-nproc.conf的配置文件,
打開看看什么內(nèi)容:
?
[root@fztest ~]# cat /etc/security/limits.d/90-nproc.confMYSQL必讀
* soft nproc 1024
MYSQL必讀
由以上操作,可知事實(shí)上這個(gè)限制是對(duì)除root以外的普通用戶進(jìn)行的限制,root可以通過(guò)ulimit -u 65535來(lái)進(jìn)行即時(shí)修改,只對(duì)當(dāng)前會(huì)話生效.一旦重啟服務(wù)器,便會(huì)失效(重新恢復(fù)max user processes? -u 1024).MYSQL必讀
接下來(lái),嘗試通過(guò)修改這個(gè)配置文件,來(lái)驗(yàn)證max user processes的值是否會(huì)改變.
將/etc/security/limits.d/90-nproc.conf中的1024修改為65535后,執(zhí)行如下命令:MYSQL必讀
由此可見,修改生效.如果不想修改/etc/security/limits.d/90-nproc.conf這個(gè)文件,也可以將此限制添加到/etc/rc.local文件中,讓其開機(jī)應(yīng)用生效即可.
成功修改了root用戶的max user processes后,繼續(xù)使用root用戶啟動(dòng)mysqld_safe腳本,穩(wěn)定運(yùn)行了一個(gè)上午,一切正常. 至此,ERROR 1135 (HY000): Can't create a new thread (errno 11)這個(gè)問題總算告以段落.
MYSQL必讀
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/2101.html