mysql:cannot open /etc/hosts.allow: Too many open files

`问题描述`:mysql报错,如下:
mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) 
 Main PID: 2333(mysqld)
    Tasks: 464 (limit: 4915)
   CGroup: /system.slice/mysql.service
           └─2006 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

mysqld[2006]: refused connect from xx.xx.xx.xx
mysqld[2006]: warning: cannot open /etc/hosts.allow: Too many open files
mysqld[2006]: warning: cannot open /etc/hosts.deny: Too many open files
`报错关键点`
cannot open /etc/hosts.allow: Too many open files
cannot open /etc/hosts.deny: Too many open files
`分析问题`
查看参数值
cat /proc/2333/limits

Max open files

其实也就是mysql的open_files_limit参数
mysql> show global variables like 'open%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 5000  |
+------------------+-------+
1 row in set (0.00 sec)
解决:
调整open_files_limit的值到30000,如下:
mysql> set global open_files_limit=30000;
ERROR 1238 (HY000): Variable 'open_files_limit' is a read only variable
发现临时修改无法修改,可以用到prlimit命令临时修改,或者修改配置文件,重启数据库永久修改。
修改配置文件,参数open_files_limit  = 30000到my.cnf,不生效可以修改在mysql.service中添加LimitNOFILE=30000 
具体prlimit使用如下:
prlimit --pid=2333 --nofile=30000:30000

修改openfile

附prlimit使用详解
prlimit --help

用法:
 prlimit [选项] [-p PID]
 prlimit [选项] 命令

常规选项:
 -p, --pid <pid>        进程 id
 -o, --output <列表>    定义要使用的输出列
     --noheadings       不打印标题
     --raw              使用原生输出格式
     --verbose          详尽输出
 -h, --help             显示此帮助并退出
 -V, --version          输出版本信息并退出

资源选项:
 -c, --core             创建核心文件的最大尺寸
 -d, --data             进程数据段的最大尺寸
 -e, --nice             允许提升的最大 nice 优先级
 -f, --fsize            进程写文件的最大尺寸
 -i, --sigpending       挂起(pending)信号的最大数量
 -l, --memlock          内存中进程锁的最大数量
 -m, --rss              (内存虚拟页)驻留集的最大数量
 -n, --nofile           打开文件的最大数量
 -q, --msgqueue         POSIX 消息队列的最大字节数
 -r, --rtprio           最大实时调度优先级
 -s, --stack            最大栈(stack)尺寸
 -t, --cpu              最长 CPU 时间()
 -u, --nproc            最多用户进程数量
 -v, --as               虚拟内存大小
 -x, --locks            文件锁的最大数量
 -y, --rttime           实时调度时进程调度的 CPU
                        (间隔)时间(毫秒)

可用列(用于 --output):
 DESCRIPTION  资源描述
    RESOURCE  资源名称
        SOFT  软限制
        HARD  硬限制(触顶)
       UNITS  单位
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值