[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
sleep music