묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
DB접속시 에러
2010.02.05 11:33
* 검색해보고 질문드립니다
config.php때문에 생기는 에러 아니에요 ㅠㅠㅠ
교회 홈페이지가 zb4로 이루어져있는데, 언젠가부터 접속하려고 하면 DB접속시 에러가 발생했습니다라는 메시지가 뜹니다
저희 계정뿐만 아니라 제로보드를 사용하시는 다른 교회분들 홈페이지도 동일한 에러가 발생하더라구요
참, 그리고 예전부터 zbxe를 설치하려고 했는데, 설치하려고 db아이디랑 입력해서 등록하려고 하면 too many connections라는 메시지가 뜨구요
그래서 오늘 담당자와 통화를 했는데, 이분도 잘 모르십니다 ㅠㅠ
(저도 웹표준과 디자인만 공부하는 학생이라 mysql같은 거는 개념도 잘 모르고 막막합니다 ㅠㅠ)
게다가 호스팅측은 관리를 안한지 오래되셨다고.....;;
일단 알아보고 답변해준다고 하셨지만 감감무소식인걸 보니 영......
어떻게 해야 이 일이 해결될 수 있을까요?? 답변 부탁드립니다 ㅠㅠㅠㅠㅠ
댓글 1
-
아카스
2010.02.05 13:19
-
쪼꼬렛주세요
2010.02.05 13:46
감사합니다 ㅠㅠ 관리자분과 방금 통화드려서 해결되었어요! 호스팅 더이상 지원안하니 계정 옮기라는 말과 함께요;
MySQL의 실행변수로 지정한것 이상의 DB 연결시 나오는 에러입니다..
호스팅을 하신다면 개인유져는 변경할수 없고요 호스팅 관리자가 고칠수 있습니다..
mysqladmin -uroot -p패스워드 variable | grep max_connections
mysqladmin -uroot -p패스워드 variable | grep table_open_cache
mysqladmin -uroot -p패스워드 variable | grep wait_timeout
세 문장을 실행하면 해당 변수의 값을 알수있는데요..
mysql_close()명령없이 DB작업이 끝났을경우는 타임아웃에 의하여 자동종료되는데요..
mysql_pconnect()와 같은 경우 타임아웃이 적용이 안됩니다..
이럴경우 mysqladmin -uroot -p패스워드 processlist 명령어를 치면 쭉하고 현재 DB에 접속하고 있는 리스트가 나옵니다.
그 connection수만큼 DB연결수를 유지할려는 MySQL의 기능이죠.. 그래서 너무많은 커넥션이 있다고 나오는거지요..
해결방법은 mysql데몬을 종료후에
mysqld_safe --user=mysql -O max_connection=1500 -O table_cache=512 wait_timeout=300 &
정도로 주면 무난할듯 싶으네요...
절대 개인유져의 잘못이 아니라.. 호스팅업체의 잘못이라는것을 알려드립니다.. 관리자권한밖에 해결방법없네요
커