搜索
查看: 2265|回复: 1
打印 上一主题 下一主题

Mysql出现“Out of resources when opening file ‘./xxx.MYD’ (Errcode: 24) ”的解决方法

[复制链接]

4

主题

5

帖子

3

菲华币

菲华新兵

Rank: 1

积分
16
跳转到指定楼层
楼主
发表于 2020-11-10 20:33:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前两天数据库出现了这个错误,在网上查找到了解决方法。在解决过程中的一些问 题记录下来。首先出现Out of resources when opening file ‘./xxx.MYD’ (Errcode: 24)错误是因为打开的文件数超过了my.cnf的–open-files-limit。 open-files-limit选项无法在mysql命令行直接修改,必须在my.cnf中设定,最大值是65536。
重新启动以后,发现
  1. show variables like 'open%';
复制代码

+——————+——-+
| Variable_name    | Value |
+——————+——-+
| open_files_limit | 1024  |
+——————+——-+
1 row in set (0.00 sec)
并没有改变。赶快查看服务器的打开文件数设定的值(用ulimit -n查看),结果发现果然是1024。在修改服务器设置后,也改成了65536,重启服务还是没有改变。需要重新登录服务器再重启数据库服务就OK了。原来这个值会取数据库和服务器设定的最小值。
  1. mysql> show variables like 'open%';
复制代码

+——————+——-+
| Variable_name    | Value |
+——————+——-+
| open_files_limit | 65536 |
+——————+——-+
1 row in set (0.00 sec)
使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。
新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。
使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)
有如下三种修改方式:
1.在/etc/rc.local 中增加一行 ulimit -SHn 65535
2.在/etc/profile 中增加一行 ulimit -SHn 65535
3.在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65535
* hard nofile 65535
具体使用哪种,试试哪种有效吧,我在 CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果
菲律宾华人电报群
回复

使用道具 举报

7

主题

65

帖子

67

菲华币

菲华卫士

Rank: 2

积分
173
沙发
发表于 2020-11-15 18:55:05 | 只看该作者
666666666666666666666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表