[mysql] open_files_limit늘리기(Cant' open file "errno: 24")
테이블이 많을때 비정상적으로 출력이 되어
mysql 오류를 보면...;
Can't find file: './CrediMail/tb_webhard554_hits.frm' (errno: 24)
.....
라고 출력되고, 에러를 토함.
해결방법
my.cnf 파일에
open_files_limit = 4096
추가후
mysql을 재기동하여 확인한다.
mysql> show variables like 'open_files%';
끝.
-------------------------------------------------------------------
근데 이렇게 쉽게 변경되어있지 않고 1024로 박혀있는 경우가있다.
그럴경우 다시 mysql 에러로그를 보면
[Warning] Could not increase number of max_open_files to more than 1024 (request: 4096)
라는 에러가 나온다.
이러면 시스템상에서 제한을 풀어주어야 한다.
# ulimit -a |grep open 을 해보면
open files (-n) 1024 로 되어있음.
root계정으로 들어간후
# vi /etc/security/limits.conf
을 열어서
....
web(계정명) soft nofile 4096
web(계정명) hard nofile 4096
....
추가하고 리눅스 재기동!
mysql 에 접속하여 다시 확인해보면 제대로 되어있음.
그래도 에러가난다면 리밋을 더 올림.
끝.