首页  >  文章  >  数据库  >  mysql_error:启动线程时出错:资源暂时unava_MySQL

mysql_error:启动线程时出错:资源暂时unava_MySQL

WBOY
WBOY原创
2016-06-01 13:38:581195浏览

比特网


mysql_error:启动线程时出错:资源暂时不可用

 

Sql代码      

121031 18:53:17  InnoDB: 无法打开第一个数据文件

InnoDB:打开 ./ibdata1 时出错

121031 18:53:17 InnoDB:文件操作中操作系统错误编号 11。  

InnoDB:错误号 11 表示“资源暂时不可用”。  

InnoDB:一些操作系统错误号在

InnoDB 中描述:http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes。 html  

121031 18:53:17 InnoDB:无法打开或创建数据文件。  

121031 18:53:17 InnoDB:如果您尝试添加新的数据文件,但在这里失败了,

121031 18:53:17 InnoDB:您现在应该在 my.cnf 中编辑 innodb_data_file_path 。 cnf 返回  

121031 18:53:17 InnoDB:恢复原样,并删除 InnoDB 创建的新 ibdata 文件   

121031 18:53:17 InnoDB:在此失败的尝试中。 InnoDB 只写入了那些充满   

121031 18:53:17 InnoDB: 零的文件,但尚未以任何方式使用它们。但要小心:不要

121031 18:53:17 InnoDB:删除包含您宝贵数据的旧数据文件!  

121031 18:53:17 [错误] 插件“InnoDB”初始化函数返回错误。  

121031 18:53:17 [错误] 插件“InnoDB”注册为存储引擎失败。   

121031 18:53:17 [错误] 未知/不受支持的存储引擎:INNODB  

121031 18:53:17 [错误] 正在中止  

  

121031 18:53:17 [注意] /usr/local/mysql/bin/mysqld:关闭完成  

  

121031 18:53:17 mysqld_safe mysqld 来自 pid 文件 /data/mysql/ mysql_3301/mysql_3301.pid 结束  

121031 18:54:29 mysqld_safe 使用 /data/mysql/mysql_3301 中的数据库启动 mysqld 守护进程  

121031 18:54:29 [警告] 语法 '- -log-slow-queries' 已弃用,并将在未来版本中删除。请改用“--slow-  

query-log”/“--slow-query-log-file”。  

121031 18:54:29 InnoDB:InnoDB 内存堆已禁用  

121031 18:54:29 InnoDB:互斥体和 rw_locks 使用 GCC 原子内置函数  

121031 18: 54:29 InnoDB:压缩表使用 zlib 1.2.3  

121031 18:54:30 InnoDB:正在初始化缓冲池,大小 = 2.9G  

121031 18:54:30 InnoDB:已完成初始化缓冲池

InnoDB:无法锁定 ./ibdata1,错误:11

InnoDB:检查您是否已经有另一个 mysqld 进程

InnoDB:使用相同的进程InnoDB 数据或日志文件。  

121031 18:54:30  InnoDB:重试锁定第一个数据文件  

InnoDB:无法锁定 ./ibdata1,错误:11  

InnoDB:检查您是否还没有另一个 mysqld 进程

InnoDB:使用相同的 InnoDB 数据或日志文件。  

121031 18:54:30  InnoDB:重试锁定第一个数据文件  

InnoDB:无法锁定 ./ibdata1,错误:11  

InnoDB:检查您是否还没有另一个 mysqld 进程

InnoDB:使用相同的 InnoDB 数据或日志文件。  

InnoDB:无法锁定 ./ibdata1,错误:11  

InnoDB:检查您是否还没有另一个 mysqld 进程  

InnoDB:使用相同的 InnoDB 数据或日志文件。  

InnoDB:无法锁定./ibdata1,错误:11  

 

Sql代码  

InnoDB:错误号 11 表示“资源暂时不可用”。  

 

启动线程时出错:资源暂时不可用

   

经过深入查询,排除了内存、句柄数等问题。 并且切换至root用户打开大量线程时没有问题。尝试调整ulimit各项参数,最后发现是“最大用户进程”参数有问题,通过用户root调整大小至12000,线程数也随着增加。

 

Java代码 

root@blog:/home/badqiu# ulimit -a 

核心文件大小          (块,-c)0 

数据段大小          (千字节,-d)无限制 

调度优先级            (-e)0 

文件大小              (块,-f)无限制 

待处理信号                (- i) 143360 

最大锁定内存       (kbytes, -l) 32 

最大内存大小         (kbytes, -m) 无限制 

打开文件                      (-n) 2048 

管道大小            (512 字节,-p)8 

POSIX message queues     (bytes, -q) 819200 

real-time priority              (-r) 0 

stack size              (kbytes, -s) 8192 

cpu time               (seconds, -t) unlimited 

max user processes              (-u) 2046 

virtual memory          (kbytes, -v) unlimited 

file locks                      (-x) unlimited 

     

在linux系统内生效。

vi /etc/security/limits.conf

 

Java代码 

* soft nproc 12000 

* hard nproc 12000 

 nproc就是"max user processes",完整描述是: nproc - max number of processes

 

参数含义:

 

单个用户可以启动的线程数,因为进程也会启动一个线程,所以也间接对进程数有限制。

 

注意:

 

该参数只对普通用户有用,root用户不在此限制。 所以用root用户可以启动几万个线程,无法重现这个问题.

 

bitsCN.com
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn