2015.09.10 15:20
정상적으로 잘 동작하던 MYSQL 데이터베이스가 갑자기
"Warning... too many connections..."
라고 하는 메시지와 함께 종료되는 경우가 발생합니다.
이 문제의 root cause는 MYSQL의 환경변수에 설정되어있는 "max_connections" 값을 초과하는 쿼리가 발생하는 것입니다.
"mysqladmin -u root -p variables" 를 실행해보면 MYSQL의 전체 환경변수의 값을 확인 할 수 있는데 그 가운데 다음 3가지의 값을 조절함으로서 해당 에러를 응급조치 할 수 있습니다.
- max_connections : MYSQL에 접속할 수 있는 최대 연결 수
- table_open_cache : MYSQL의 캐쉬 크기
- wait_timeout : MYSQL의 쿼리가 지속되는 시간
이 방법으로 "too many connections" 문제가 해결되었다면 부팅시마다 MYSQL을 시작하면서 매번 자동 적용 되도록 /etc/rc.d/rc.local 파일에 아래와 같이 설정해두는 것도 좋은 방법이 됩니다.
예시)
/usr/local/mysql/bin/mysqlid_safe -O max_connections=1000 -O table_open_cache=512 -O wait_timeout=57600 &
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
5 | [mysql] 작은 용량의 파일 로드 속도가 느려진 경우 | 호스트웨이 | 2015.09.22 | 7104 |
4 | MYSQL 접속 - 소켓 지정하여 접속하기 | 호스트웨이 | 2015.09.23 | 58365 |
3 | DB접속시 DNS 관련 오류 | 호스트웨이 | 2015.09.25 | 18276 |
2 | [Oracle] 대량 자료 조회 Parallel | 호스트웨이 | 2015.09.26 | 7244 |
1 | MySQL Bash 스크립트를 활용한 로컬 백업 | 호스트웨이 | 2016.02.04 | 12402 |