如果遇到如下错误:
shell> perror 24
OS error code 24: Too many open files
这就是MySQL的文件描述不够用了。先说解决办法,再说背后的原因吧。
第一步:设置OS参数(如果你有权限的话):
文件/etc/security/limits.conf新增如下行:
mysql hard nofile 65535
上面的配置,是OS限制各个用户能够打开的文件描述符限制(hard soft区别参看man ulimit),新增上面两行,表示mysql用户能够打开65535个文件描述符(可以使用lsof -u mysql|wc -l查看当前打开了多少个文件描述符)。
第二步:修改MySQL参数:
在MySQL配置文件my.cnf中新增下面的行
innodb_open_files=65535
然后重启你的MySQL一般问题就解决了。