[DB] mysql_connect 제한수 초과 에러

php 에서 mysql_connect 함수 사용시 mysql_close 로 닫아주지 않으므로 해서 …

한번 접속후 wwait_timeout 시간동안 계속..접속 되어있는 경우  mysql_connect

접속 제한수 100명이  초과 할때 더 이상 이함수를 통해 접속할수 없다…

이런문제시에 물런 mysql 로 들어가서 …

MYSQL > show processlist;

로 현재 mysql 접속된 사용자의 리스트를 보고 현재 접속상태가 sleep 이면서 많

은 접속을 한 계정을 확인한뒤 ..이계정의 php소스를 고쳐주어도 되지만..시스템

차원에서 튜닝으로 어느정도 해결할수도 있다.

# mysqladmin  -p  variables

로 시스템의 mysql 환경설정값중 max_connections 값과 wait_timeout 값을 확인

한다. 기본 설정값은 max_connections = 100 , wait_timeout = 28800 으로 되어져

있다. 이를 max_connections = 200 , wait_timeout = 100 정도로 변경해 준다.

변경하는 방법은 safe_mysqld 로 데몬 시작시에 …

# safe_mysqld –set-variable=max_connections=200  

–set-variables=wait_timeout=100 &

이와 같이 실행해도 되지만…앞으로의 mysql tunning 관리 차원에서 ..

/etc/my.cnf 파일을 이용하는것이 좋다.

# vi /etc/my.cnf

—————————————————

[client]

port=3306

socket=/tmp/mysql.sock

[mysqld]

port=3306

socket=/tmp/mysql.sock

set-variable = max_connections=200

set-variable = wait_timeout=100

[mysqldump]

quick

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

1 Response

페이스북/트위트/구글 계정으로 댓글 가능합니다.