>  기사  >  데이터 베이스  >  MySQL 데이터베이스 오류: 연결이 너무 많습니다.

MySQL 데이터베이스 오류: 연결이 너무 많습니다.

黄舟
黄舟원래의
2017-09-11 11:29:222833검색

이런 종류의 오류는 분명히 mysql_connect 이후에 mysql_close를 잊어버렸기 때문에 발생합니다.
연결 수가 너무 많으면 연결 수가 너무 많습니다. 기본 mysql 연결 수는 100입니다. 이 오류는 어떤 상황에서 발생합니까?
정상적인 mysql_connect 이후에는 mysql_close()를 호출하여 연결을 종료합니다
하지만 연결 오류가 발생하여 mysql_real_query()가 오류와 함께 종료되면 mysql_close()를 잊어버릴 수 있습니다.
그래서 프로그램이 반환되기 전에 여부를 판단해야 합니다. 가장 안전한 방법은 close()입니다. 가장 좋은 방법은 함수를 작성할 때 종료를 하나만 갖는 것입니다.
mysql 구성 파일을 수정하여 허용되는 연결 수를 늘릴 수도 있습니다!
때때로 서버에서 다음과 같은 오류가 발생하는 경우가 많습니다.
오류 메시지는 다음과 같습니다.

Can not connect to MySQL server
Error: Too many connections
Errno.: 1040
Similar error report has beed dispatched to administrator before.

공식 문서에 따르면 Linux에서 컴파일되고 설치된 mysql의 기본 연결은 100인 것으로 알고 있습니다.
문서:

http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

Mysql 공식 max_connections 값을 수정해야 한다고 알려줍니다. 그러면 어떻게 수정하나요? 두 가지 방법이 있습니다
1. 구성 파일을 수정하세요
/etc/my.cnf 파일을 수정하고 [mysqld]에 max_connections=N을 추가하세요. 이 파일이 없으면 support-files 폴더에서 다운로드하세요. 컴파일된 소스 코드를 /etc/my.cnf에 복사합니다. 저는 중간 서버 구성인 my-medium.cnf를 사용하고 있습니다. 예를 들어 my [mysqld]의 내용은 다음과 같습니다

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 160M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_connections=1000

저는 mysql에 익숙하지 않아서 많은 매개변수를 수정하지 않았습니다. 하하. .
2. mysqld 스크립트를 사용하지 않는 사용자는 자동으로 시작됩니다.
$MYSQL_HOME/bin/mysqld_safe 파일을 수정하세요
예:

/usr/local/mysql/bin/mysqld_safe这个文件
grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe

해당 행 번호의 max_connections 매개변수 값을 수정하세요

위 내용은 MySQL 데이터베이스 오류: 연결이 너무 많습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.