mysql备份提示too many open files Errornumber 24怎么解决
本篇内容主要讲解“mysql备份提示too many open files Errornumber 24怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql备份提示too many open files Errornumber 24怎么解决”吧!
一.问题的描述
备份程序 执行前滚的时候报错。
InnoDB:Errornumber24means'Toomanyopenfiles'.InnoDB:SomeoperatingsystemerrornumbersaredescribedatInnoDB:http://dev.MySQL.com/doc/mysql/en/Operating_System_error_codes.htmlInnoDB:Filename/home/nice/backup/mysql/var.20121211021656/user_db_20121123/tuser_like_core.ibdInnoDB:Fileoperationcall:'open'.InnoDB:Cannotcontinueoperation.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
corefilesize(blocks,-c)unlimiteddatasegsize(kbytes,-d)unlimitedfilesize(blocks,-f)unlimitedpendingsignals(-i)1024maxlockedmemory(kbytes,-l)32maxmemorysize(kbytes,-m)unlimitedopenfiles(-n)1024pipesize(512bytes,-p)8POSIXmessagequeues(bytes,-q)819200stacksize(kbytes,-s)10240cputime(seconds,-t)unlimitedmaxuserprocesses(-u)137216virtualmemory(kbytes,-v)unlimitedfilelocks(-x)unlimited
3.vi/etc/security/limits.conf,添加
mysqlsoftnofile8192mysqlhardnofile20480
4.经过前三步,重启mysql。
重启mysql 发现,open_files_limit | 20480。
5.修改OS用户配置文件
经过前四步,虽然在mysql中 看open_files_limit | 20480,但ibbackup还是在前滚时报错。报,open_file不够。怀疑 还是没有生效。
ulimit-acorefilesize(blocks,-c)unlimiteddatasegsize(kbytes,-d)unlimitedfilesize(blocks,-f)unlimitedpendingsignals(-i)1024maxlockedmemory(kbytes,-l)32maxmemorysize(kbytes,-m)unlimitedopenfiles(-n)1024pipesize(512bytes,-p)8POSIXmessagequeues(bytes,-q)819200stacksize(kbytes,-s)10240cputime(seconds,-t)unlimitedmaxuserprocesses(-u)137216virtualmemory(kbytes,-v)unlimitedfilelocks(-x)unlimited
于是,修改OS用户配置文件
分别查看了.bash_profile 、.bashrc 、/etc/bashrc;
发现,.bash_profile调用 .bashrc ,.bashrc调用 /etc/bashrc
发现,/etc/bashrc 中有
ulimit-S-cunlimited>/dev/null2>&1
在这一行之后 添加
ulimit-n20480>/dev/null2>&1
6.重启mysql ,执行备份程序,在--apply-log,还是报错,报,open_file不够
InnoDB:Errornumber24means'Toomanyopenfiles'.InnoDB:SomeoperatingsystemerrornumbersaredescribedatInnoDB:http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html
7.修改innodb_open_files参数
之前这个参数,设置成500.这次修改到1000.
重启mysql 解决问题
到此,相信大家对“mysql备份提示too many open files Errornumber 24怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。