InnoDB: Error number 24 means ‘Too many open files’.--转载
一.问题的描述
备份程序 执行前滚的时候报错。(-apply-log)
InnoDB: Errornumber 24 means 'Too many open files'.
InnoDB: Some operatingsystem error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html
InnoDB: File name/home/nice/backup/mysql/var.20121211021656/user_db_20121123/tuser_like_core.ibd
InnoDB: File operationcall: 'open'.
InnoDB: Cannot continueoperation.
innobackup:Error:
二.问题分析
openfiles 开的小了。
mysql的open_file_limit受制于以下几个参数
max_connections、 table_open_cache 、open_files_limit 以及 /etc/security/limits.conf中的配置。
max_connections和 table_open_cache 与open_files_limit 的关系:
max_1 = 10 + max_connections + table_cache * 2;
max_2 = max_connections * 5;
max_3 = max_os_open_files;//操作系统单个进程最大允许打开文件句柄(文件描述符)。
open_files_limit= max( max_1, max_2 ) > max_3 ? max_3 : max ( max_1, max_2);
综合分析发现,open_files_limit | 10240
而目前ibd表已经10800个了。
三.解决问题
1.my.cnf 配置 open_files_limit = 20480
重启mysql 发现没有变化,open_files_limit | 10240。
2.ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 137216
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
3.vi /etc/security/limits.conf,添加
mysql soft nofile 8192
mysql hard nofile 20480
4.经过前三步,重启mysql。
重启mysql 发现,open_files_limit | 20480。
5.修改OS用户配置文件
经过前四步,虽然在mysql中 看open_files_limit | 20480,但ibbackup还是在前滚时报错。报,open_file不够。怀疑 还是没有生效。
ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 137216
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
于是,修改OS用户配置文件
分别查看了.bash_profile 、.bashrc 、/etc/bashrc;
发现,.bash_profile调用 .bashrc ,.bashrc调用 /etc/bashrc
发现,/etc/bashrc 中有
ulimit -S -c unlimited > /dev/null 2>&1
在这一行之后 添加
ulimit -n 20480 >/dev/null 2>&1
6.重启mysql ,执行备份程序,在--apply-log,还是报错,报,open_file不够
InnoDB: Errornumber 24 means 'Too many open files'.
InnoDB: Some operatingsystem error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html
7.修改innodb_open_files 参数
之前这个参数,设置成500.这次修改到1000.
重启mysql 解决问题
四.关于Operating_System_error_codes.html
Linux System Error Codes
The following tableprovides a list of some common Linux system error codes. For a more completelist, see Linux source code.
Number |
Macro |
Description |
1 |
EPERM |
Operation not permitted |
2 |
ENOENT |
No such file or directory |
3 |
ESRCH |
No such process |
4 |
EINTR |
Interrupted system call |
5 |
EIO |
I/O error |
6 |
ENXIO |
No such device or address |
7 |
E2BIG |
Arg list too long |
8 |
ENOEXEC |
Exec format error |
9 |
EBADF |
Bad file number |
10 |
ECHILD |
No child processes |
11 |
EAGAIN |
Try again |
12 |
ENOMEM |
Out of memory |
13 |
EACCES |
Permission denied |
14 |
EFAULT |
Bad address |
15 |
ENOTBLK |
Block device required |
16 |
EBUSY |
Device or resource busy |
17 |
EEXIST |
File exists |
18 |
EXDEV |
Cross-device link |
19 |
ENODEV |
No such device |
20 |
ENOTDIR |
Not a directory |
21 |
EISDIR |
Is a directory |
22 |
EINVAL |
Invalid argument |
23 |
ENFILE |
File table overflow |
24 |
EMFILE |
Too many open files |
25 |
ENOTTY |
Inappropriate ioctl for device |
26 |
ETXTBSY |
Text file busy |
27 |
EFBIG |
File too large |
28 |
ENOSPC |
No space left on device |
29 |
ESPIPE |
Illegal seek |
30 |
EROFS |
Read-only file system |
31 |
EMLINK |
Too many links |
声明:本文档可以随意更改,但必须署名原作者
作者:凤凰舞者 qq:578989855
InnoDB: Error number 24 means ‘Too many open files’.--转载的更多相关文章
- xtrabackup备份MySQL报错:InnoDB: Error number 24 means 'Too many open files'
xtrabackup备份MySQL报错:InnoDB: Error number 24 means 'Too many open files' 1.使用xtrabackup备份MySQL时出现如下报错 ...
- InnoDB: Error number 24 means ‘Too many open files’
一.问题的描述 备份程序 执行前滚的时候报错.(-apply-log) InnoDB: Errornumber 24 means 'Too many open files'. InnoDB: Some ...
- mysql数据库报错:InnoDB: Operating system error number 13 in a file operation
环境:centos6.5 x86_64 启动mysql发现日志报错(日志路径可以查看/etc/my.cnf的配置) 160722 10:34:08 [Note] Found 42570716 of 4 ...
- InnoDB: Operating system error number 87 in a file operation. 错误87的解决方法
InnoDB: Operating system error number 87 in a file operation. 错误87的解决方法 140628 8:10:48 [Note] Plugi ...
- InnoDB: ERROR: the age of the last checkpoint
--InnoDB: ERROR: the age of the last checkpoint ---------------------------------------------------- ...
- MySQL Error Number 1005 Can’t create table(Errno:150)
mysql数据库1005错误解决方法 MySQL Error Number 1005 Can’t create table ‘.\mydb\#sql-328_45.frm’ (errno: 150) ...
- 转 InnoDB Error Handling
14.20.4 InnoDB Error Handling Error handling in InnoDB is not always the same as specified in the SQ ...
- 【MySQL】5.6.x InnoDB Error Table mysql.innodb_table_stats not found
[问题描述]: 检查error log的时候发现大量warnings: [Warning] InnoDB Error Table mysql.innodb_index_stats not found ...
- MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误
MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误 创建表的语句 CREAT ...
随机推荐
- Ubuntu 中文输入法安装包
1. 打开 Dashboard http://www.2cto.com/os/201207/144189.html
- JavaScript中的eval()函数
和其他很多解释性语言一样,JavaScript同样可以解释运行由JavaScript源代码组成的字符串,并产生一个值.JavaScript通过全局函数eval()来完成这个工作. eval(“1+2” ...
- Node.js 文件系统
Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...
- IT公司100题-26-左旋转字符串
问题描述: 给定字符串和左旋的字符数,写程序实现字符串的左旋操作.例如对于字符串”12345678″, 左旋转4个字符后,变成”56781234″.要求时间复杂度为O(n),空间复杂度O(1). ...
- SQL实践中的50句
一个项目涉及到的50个Sql语句(整理版)--1.学生表Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程 ...
- How to implement updatable view with NHibernate
see : http://msdn.microsoft.com/en-us/library/ms187956.aspx(The constrains of creation updatable vie ...
- Oracle PL/SQL入门语法点
PL_SQL:带有分支和循环,面向过程匿名块:declare(可选,声明各种变量和游标的地方)begin(必要的,从此开始执行)exception(抓取到异常后执行的)end;[sql] view p ...
- Android RecyclerView单击、长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类
Android RecyclerView单击.长按事件:基于OnItemTouchListener +GestureDetector标准实现(二),封装抽取成通用工具类 我写的附录文章2,介绍了 ...
- [转]http://makefiletutorial.com/
Intro This makefile will always run. The default target is some_binary, because it is first. some_bi ...
- .net解决数据导出excel时的格式问题
在项目中一般都需要将报表数据导出到EXCEL中,但经常出现导出长串数据(如身份证)到EXCEL中后显示为科学计数法的格式,或者报表中显示为001的数据导出到Excel后成了1的格式. 下面简单介绍一下 ...