테이블이 많을때 비정상적으로 출력이 되어


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%';

+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 4096  |
+------------------+-------+


끝.

-------------------------------------------------------------------

근데 이렇게 쉽게 변경되어있지 않고 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 에 접속하여 다시 확인해보면 제대로 되어있음.

그래도 에러가난다면 리밋을 더 올림.


끝.







'업무 > DB' 카테고리의 다른 글

[mysql] 커맨드에서 쿼리날리기  (0) 2012.11.19
[db] 중복된 값 찾기  (0) 2012.09.21
[mysql] 개발DB만들기  (0) 2012.08.21
[mysql] sql덤프받기(특정조건, 문자셋지정해서)  (0) 2012.08.20
[oracle] 테이블 복사하기  (0) 2012.05.31

+ Recent posts