mysql登录报错Can't create a new thread

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/tootsy_you/article/details/102760467

系 统:SUSE 12

Mysql:5.6版本,rpm安装
现象:在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 bug。用其他服务 器登录本服务器的mysql,报错相同,重启mysql,只能kill掉,可重新启动。

解决办法:查看系统是否对mysql的进程数进行了限制,通过 ulimit -acat /proc/pidof mysqld/limits | egrep "(processes|files)"等命令先对系统文件进行查看,发现没有问题。此时应该是suse系统对其mysql进行了某些限制。

先通过: systemctl status mysql 查看mysql的运行状态,找到TASKS一行,会发现两个数字,其中括号外是已经运行的线程数量,括号内是所允许的最大数量,默认(512),应将512配置大或者无限制。

执行:vim /etc/systemd/system.conf找到包含DefaultTasksMax的行,将他的值修改为DefaultTasksMax=infinity(如被注释应打开注释),修改完成后保存,并执行 systemctl daemon-reexec 重新加载此文件,重启mysql 后,在查看一下TASTS行,发现括号内数字消失,此时为不限制数量。 命令行登录,发现可以登陆了,问题解决。

猜你喜欢

转载自blog.csdn.net/tootsy_you/article/details/102760467