mysql "Too many open files”问题解决

本文介绍了如何解决MySQL服务器上因打开文件数过多导致的“Toomanyopenffiles”错误。通过调整操作系统级别的ulimit设置及修改MySQL配置文件来增加最大文件打开数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景介绍

最近在mysql服务器上运行了一个爬虫程序,其他用户访问mysql(5.7)数据库的时候老是报错“Too many openf files”,现在把解决问题的方案记录下来。

首先我查看mysql open_files_limit参数

mysql> show variables like '%open_files_limit%';

然后查看mysql官网关于open_files_limit参数说明,大体上是说该参数决定了mysql进程能打开的最大文件数。这个最大文件数依赖于操作系统,如果进程需要打开的文件数无法被分配成功的时候就会报出错误或警告。
在Unix系统中open_file_limit不会超过操作系统ulimit -n所指定的文件数。
mysql实例启动时,取下面三个值中最大值为open_files_limit参数值

1) 10 + max_connections + (table_open_cache * 2)
2) max_connections * 5
3) open_files_limit value specified at startup, 5000 if none

修改操作系统打开文件限制

查看

ulimit -n
1024

修改/etc/security/limits.conf

mysql soft nofile  102400
mysql hard nofile  102400

修改mysql最大打开文件数限制

修改/etc/my.cnf 加入:

open_files_limit=102400
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值