Posted on 2004/06/16 10:07
Filed Under 데이터베이스/MYSQL 조회수: view 5812

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

Writer profile
author image
-아랑 -
2004/06/16 10:07 2004/06/16 10:07

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

About

by 서진우
Twitter :@muchunalang

Counter

• Total
: 4401729
• Today
: 432
• Yesterday
: 1001