免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1626 | 回复: 0
打印 上一主题 下一主题

Linux下MySQL打开文件数错误问题的解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-27 15:17 |只看该作者 |倒序浏览
错误信息如下:
.....
070813 13:10:17 [ERROR] /usr/local/mysql/bin/mysqld: Can't open file: './yejr/access.frm' (errno: 24)
070813 13:10:17 [ERROR] /usr/local/mysql/bin/mysqld: Can't open file: './yejr/accesslog.frm' (errno: 24)
......
070813 13:10:17 [ERROR] Error in accept: Too many open files
....
注意到, 系统错误代号是 24, 用 perror 来查看一下具体的错误信息是什么:
[root@yejr]# /usr/bin/perror 24
OS error code 24: Too many open files
原来是打开文件太多了, 好办.用sysctl来调整一下就好了:
[root@yejr]# sysctl -w fs.file-max=43621
[root@yejr]# sysctl -a | grep fs.file-max
fs.file-max = 43621
FreeBSD 下也用sysctl来调整:
[root@yejr]# sysctl -w kern.maxfiles=123280
[root@yejr]# sysctl -a | grep kern.maxfiles
kern.maxfiles = 123280
最后, 还有最重要的一点是, 修改 mysqld 的配置文件 my.cnf, 增加如下一行:
open_files_limit = 4096
#根据自己的情况适当调整,系统默认值是
# max_connections*5 或 max_connections + table_cache*2
然后, 以root身份重新启动 mysqld. 在这里, 尽管 my.cnf 中指定的运行用户不是root, 一样可以以root身份来启动mysqld, 否则 open_files_limit 选项无法生效, 因为内核限制了普通用户的最多打开文件数.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/88611/showart_2061215.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP