Home >Database >Mysql Tutorial >mysql_error:Error starting thread:Resource temporarily unava_MySQL

mysql_error:Error starting thread:Resource temporarily unava_MySQL

WBOY
WBOYOriginal
2016-06-01 13:38:581255browse

bitsCN.com


mysql_error:Error starting thread:Resource temporarily unavailable

 

Sql代码      

121031 18:53:17  InnoDB: Unable to open the first data file  

InnoDB: Error in opening ./ibdata1  

121031 18:53:17  InnoDB: Operating system error number 11 in a file operation.  

InnoDB: Error number 11 means 'Resource temporarily unavailable'.  

InnoDB: Some operating system error numbers are described at  

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

121031 18:53:17 InnoDB: Could not open or create data files.  

121031 18:53:17 InnoDB: If you tried to add new data files, and it failed here,  

121031 18:53:17 InnoDB: you should now edit innodb_data_file_path in my.cnf back  

121031 18:53:17 InnoDB: to what it was, and remove the new ibdata files InnoDB created   

121031 18:53:17 InnoDB: in this failed attempt. InnoDB only wrote those files full of   

121031 18:53:17 InnoDB: zeros, but did not yet use them in any way. But be careful: do not  

121031 18:53:17 InnoDB: remove old data files which contain your precious data!  

121031 18:53:17 [ERROR] Plugin 'InnoDB' init function returned error.  

121031 18:53:17 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.   

121031 18:53:17 [ERROR] Unknown/unsupported storage engine: INNODB  

121031 18:53:17 [ERROR] Aborting  

  

121031 18:53:17 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete  

  

121031 18:53:17 mysqld_safe mysqld from pid file /data/mysql/mysql_3301/mysql_3301.pid ended  

121031 18:54:29 mysqld_safe Starting mysqld daemon with databases from /data/mysql/mysql_3301  

121031 18:54:29 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-  

query-log'/'--slow-query-log-file' instead.  

121031 18:54:29 InnoDB: The InnoDB memory heap is disabled  

121031 18:54:29 InnoDB: Mutexes and rw_locks use GCC atomic builtins  

121031 18:54:29 InnoDB: Compressed tables use zlib 1.2.3  

121031 18:54:30 InnoDB: Initializing buffer pool, size = 2.9G  

121031 18:54:30 InnoDB: Completed initialization of buffer pool  

InnoDB: Unable to lock ./ibdata1, error: 11  

InnoDB: Check that you do not already have another mysqld process  

InnoDB: using the same InnoDB data or log files.  

121031 18:54:30  InnoDB: Retrying to lock the first data file  

InnoDB: Unable to lock ./ibdata1, error: 11  

InnoDB: Check that you do not already have another mysqld process  

InnoDB: using the same InnoDB data or log files.  

121031 18:54:30  InnoDB: Retrying to lock the first data file  

InnoDB: Unable to lock ./ibdata1, error: 11  

InnoDB: Check that you do not already have another mysqld process  

InnoDB: using the same InnoDB data or log files.  

InnoDB: Unable to lock ./ibdata1, error: 11  

InnoDB: Check that you do not already have another mysqld process  

InnoDB: using the same InnoDB data or log files.  

InnoDB: Unable to lock ./ibdata1, error: 11  

 

Sql代码  

InnoDB: Error number 11 means 'Resource temporarily unavailable'.  

 

Error starting thread: Resource temporarily unavailable 

     

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

 

Java代码 

root@blog:/home/badqiu# 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) 143360 

max locked memory       (kbytes, -l) 32 

max memory size         (kbytes, -m) unlimited 

open files                      (-n) 2048 

pipe size            (512 bytes, -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
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn