Mysql实例mysql中一个普通ERROR 1135 (HY000)错误引发的血案
《Mysql实例mysql中一个普通ERROR 1135 (HY000)错误引发的血案》要点: 今天接到测试人员反应,测试环境前端应用程序无连接mysql数据库,登录mysql服务器,查看错误日志,发现有如下报错: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必读 第一反应感觉可能是跟ulimit限制连接数有关,文件描述符不够用.接下来检查配置件 /etc/security/limits.conf 相关结果如下:MYSQL必读 代码如下:#for root root soft nofile 65535 root hard nofile 65535 # End of file mysql soft nproc 65536 mysql hard nproc 65536 mysql soft nofile 65535 mysql hard nofile 65535 配置没有问题,mysql的ulimit限制已经打开.MYSQL必读 但是,执行如下命令:MYSQL必读 代码如下:# sudo -u root bash -c " ulimit -a " core file size (blocks,-c) 0 data seg size (kbytes,-d) unlimited scheduling priority (-e) 0 file size (blocks,-f) unlimited pending signals (-i) 62591 max locked memory (kbytes,-l) 64 max memory size (kbytes,-m) unlimited open files (-n) 1024 pipe size (512 bytes,-p) 8 POSIX message queues (bytes,-q) 819200 real-time priority (-r) 0 stack size (kbytes,-s) 10240 cpu time (seconds,-t) unlimited max user processes (-u) 1024 virtual memory (kbytes,-v) unlimited file locks (-x) unlimited 发现max user processes值仍为1024.MYSQL必读 而在Centos5里面,只须在/etc/security/limits.conf添加如下两行: # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 1024 而在配置文件/etc/security/limits.d/90-nproc.conf中的 “* soft nproc 1024”的意思是任何用户的最大max user processes为1024个,也就是说,系统的任何用户均不可以通过ulimit -u来修改 .真的是这样吗?我们来进行如下验证操作: 代码如下: [oracle@fztest ~]$ ulimit -u 65535 -bash: ulimit: max user processes: cannot modify limit: Operation not permitted [root@fztest ~]# ulimit -u 65535 [root@fztest ~]# ulimit -u 65535 由以上操作,可知事实上这个限制是对除root以外的普通用户进行的限制,root可以通过ulimit -u 65535来进行即时修改,只对当前会话生效.一旦重启服务器,便会失效(重新恢复max user processes? -u 1024).MYSQL必读 接下来,尝试通过修改这个配置文件,来验证max user processes的值是否会改变. [root@fztest ~]# sudo -u root bash -c " ulimit -a" core file size (blocks,-f) unlimited pending signals (-i) 95191 max locked memory (kbytes,-m) unlimited open files (-n) 65535 pipe size (512 bytes,-t) unlimited max user processes (-u) 65535 virtual memory (kbytes,-v) unlimited file locks (-x) unlimited 由此可见,修改生效.如果不想修改/etc/security/limits.d/90-nproc.conf这个文件,也可以将此限制添加到/etc/rc.local文件中,让其开机应用生效即可. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |