>  기사  >  데이터 베이스  >  MySQL_MySQL에서 최대 연결 수를 수정하는 두 가지 방법을 요약합니다.

MySQL_MySQL에서 최대 연결 수를 수정하는 두 가지 방법을 요약합니다.

WBOY
WBOY원래의
2016-09-09 08:13:43990검색

질문

MySQL 데이터베이스를 사용할 때 이러한 문제가 자주 발생하는데, 이는 "Can not connect to MySQL server. Too many connections"-mysql 1040 오류입니다. 이는 MySQL에 액세스하는 해제되지 않은 연결 수가 MySQL의 상한에 도달했기 때문입니다. 일반적으로 MySQL의 기본 최대 연결 수는 100이고 최대 연결 수는 16384에 도달할 수 있습니다.

최대 연결 수를 수정하는 데 일반적으로 사용되는 두 가지 방법이 있습니다.

해결책 1:
명령을 사용하세요.

set GLOBAL max_connections=100; 명령을 통해 최대 연결 수를 100으로 설정할 수 있습니다. 이 방법은 즉시 적용되며 mysql 서비스를 다시 시작할 필요가 없습니다. 아래와 같이:

이 작동하려면 루트 권한이 있는 mysql 계정이 필요하며, 그렇지 않으면 “1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation” 오류가 보고됩니다.

동시에 위 그림에서 볼 수 있듯이 max_connections의 최소값을 1로 설정합니다.

설정을 완료한 후 다른 단말기로 연결했더니 1040-Too many connections라는 오류 메시지가 떴습니다.

해결책 2: my.cnf 수정

mysql 구성 파일vim /etc/my.cnf을 열고 max_connections=100一行을 추가(있는 경우 값을 직접 수정)한 다음 서비스를 다시 시작:/etc/init.d/mysqld restart하면 이때 적용됩니다.

차이:

1. 구성 파일을 수정하면 서비스를 다시 시작해야 하며, 명령으로 수정하면 즉시 적용됩니다.

2. 보다 안정적이고 신뢰할 수 있도록 구성 파일을 수정합니다. 왜냐하면 구성 파일에 max_connections=100이 있고 이를 수정하기 위해 명령어를 사용하면 mysql 서비스가 다시 시작되면 구성 파일에 지정된 연결 개수가 다시 사용되기 때문이다.

요약:

최대 연결 수를 수정할 때 질문이 있습니다. 값이 클수록 좋은가요, 아니면 얼마나 높게 설정해야 합니까? 이 매개변수의 크기는 사용된 플랫폼에서 지원하는 스레드 라이브러리 수(창은 최대 2048개만 지원할 수 있음), 서버 구성(특히 메모리 크기), 각 연결이 차지하는 리소스 등 다양한 요소를 기반으로 고려해야 합니다. (메모리 및 로드) 시스템에서 요구하는 응답 시간 등이 얼마입니까? 이 매개변수는 전역 또는 세션 범위에서 수정할 수 있습니다. 연결 수의 증가는 많은 연쇄 반응을 가져올 것이며 이로 인해 발생하는 부정적인 영향은 실제로 피해야 합니다. 이 글이 mysql을 사용하는 모든 분들께 도움이 되기를 바랍니다.

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