【原创】MySQL Can't create a new thread报错分析
今天有两台服务器都出现了Can't create a new thread报错。
【故障处理过程】
故障发生后登录服务器,检查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 bug。
重启mysql服务,执行没响应,kill -9 mysql进程,从errorlog中看到,停服务的命令由于无法创建新的thread导致执行失败

【问题分析】
这个报错不是mysql本身的问题,根本原因是由于操作系统CentOS 6.4 Linux 2.6.32 的max user processe的默认设置1024太小造成,当mysql线程数大于配置值时,就会出现Can't create a new thread报错。
以其中一台服务器为例,操作系统版本是CentOS release 6.4(Linux version 2.6.32)
配置文件/etc/security/limits.d/90-nproc.conf的默认设置soft limit 是1024

这时mysql进程的Soft Limit也是1024

【问题重现】
在测试机器上将Max processes调整为1024,模拟并发1024以上个线程请求,会出现同样的报错

动态修改mysql进程的系统资源限制后,报错消失
echo -n "Max processes=2048:2048" > /proc/`pidof mysqld`/limits
【解决办法】(针对CentOS 6.4 Linux version 2.6.32以上版本)
1、动态修改mysql进程的系统资源限制(不需重启mysql服务即可生效)
echo -n "Max processes=65535:65535" > /proc/`pidof mysqld`/limits
2、修改/etc/security/limits.d/90-nproc.conf配置文件的配置(下次重启mysql服务生效)

3、建议同时修改上面配置中用户打开最大文件数的限制nofile

【原创】MySQL Can't create a new thread报错分析的更多相关文章
- mysql中大数据表alter增加字段报错:"1034 Incorrect key file for table 'table_name'; try to repair it"
mysql中大数据表alter增加字段报错:"1034 Incorrect key file for table 'table_name'; try to repair it" 现 ...
- 连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的,
连接远程MySQL数据库项目启动时,不报错但是卡住不继续启动的, 2018-03-12 17:08:52.532DEBUG[localhost-startStop-1]o.s.beans.factor ...
- mysql 5.7.28 中GROUP BY报错问题 SELECT list is not in GROUP BY clause and contains no
----mysql 5.7.28 中GROUP BY报错问题 SELECT list is not in GROUP BY clause and contains no------ 解决方案: sel ...
- Mysql in子查询中加limit报错
Mysql in子查询中加limit报错 select id from aa where id in ( select id from bb limit 10 ); 改写成 SELECT id FRO ...
- 使用sqoop从Oracle或mysql抽取数据到HDFS遇到的报错及解决
一.参考文档: 1.https://www.rittmanmead.com/blog/2014/03/using-sqoop-for-loading-oracle-data-into-hadoop-o ...
- mysql小知识点汇总---(时间与时间戳的转换, 修改mysql用户名密码, navicate 导入sql文件报错 1153)
1. 时间与时间戳的转换 1.1 时间戳转时间 FROM_UNIXTIME(add_time, '%Y-%m-%d') 1.2 时间转时间戳 UNIX_TIMESTAMP('2015-04-29') ...
- 解决Mysql搭建成功后执行sql语句报错以及区分大小写问题
刚搭建完mysql 8.0以后会: 一.表区分大小写, 二.执行正确的sql语句成功且会报:[Err] 1055 - Expression #1 of ORDER BY clause is not i ...
- Mysql修改root用户密码 For Mac 报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
环境 Mysql版本:5.7.12 操作系统:OSX 10.11 安装文件:.dmg文件 MySQL:mysql-5.7.12-osx10.11-x86_64.dmg(注意5.7跟之前的字段有些不同, ...
- MySQL or MariaDB 错误解决方法之报错代码1045
phpMyAdmin登录报错:mysqli_real_connect(): (28000/1045): Access denied for user 'root'@'localhost' (using ...
随机推荐
- OpenStack 认证服务 KeyStone 服务注册(五)
创建服务实体和API端点 创建服务 openstack service create --name keystone --description "OpenStack Identity&qu ...
- MySQL初始化以及客户端工具的使用
MySQL初始化以及客户端工具的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是关系型数据库 关系型数据库通常是把所有的数据都组织成二维关系.之所以称为关系型数据库是 ...
- Swift学习笔记2
1.函数参数都有一个外部参数名(external parameter name)和一个局部参数名(local parameter name).外部参数名用于在函数调用时标注传递给函数的参数,局部参数名 ...
- python---django初步了解以及安装(包括Django网页首次无法访问的原因及解决方法,以及在linux服务器上布置无法启动的原因)
pip install Django 相关网站资源: Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是 ...
- centos内存自动清理脚本及限制tomcat内存占用
使用crontab定时每天自动清理系统内存 00 00 * * * /root/Cached.sh [root@localhost ~]# cat Cachec.sh #! /bin/bash# ca ...
- dede调用多级导航的方法
<div id="navWrapper"> <div class="content"> <ul class="nav m ...
- 关于caffe的安装问题
在caffe的安装过程中,出现 /usr/bin/ld: cannot find -lcblas /usr/bin/ld: cannot find -latlas的问题 这时解决方案为http://s ...
- HTTP::UserAgent注意问题
例用 HTTP::Request 设置头信息时, 比如 add-content , 第二次再执行 add-content 时, content 内容会追加, 并不会重新添加. 当下次再 add-con ...
- Linux中断(interrupt)子系统之三:中断流控处理层【转】
转自:http://blog.csdn.net/droidphone/article/details/7489756 1. 中断流控层简介 早期的内核版本中,几乎所有的中断都是由__do_IRQ函数 ...
- yum安装软件报错:curl#6 - "Could not resolve host: mirrorlist.centos.org; Temporary failure in name resolut
# yum install -y epel-release Loaded plugins: fastestmirror Repository base is listed more than once ...