MySQL 오류 수정 방법 : 너무 많은 연결

MySQL 오류 소개 : 너무 많은 연결

수요가 많은, 즉 많은 사용자가 방문하는 웹 애플리케이션 (사이트, 블로그, 포럼 등)이있는 경우 이는 서버의 소비 증가로 이어집니다. 웹 앱이 MySQL 데이터베이스를 사용하고 쿼리가 정말 많은 경우 (웹 프로그래밍이 나쁘거나 웹을 사용하는 많은 사용자가), MySQL이 다음 오류를 표시 할 가능성이 있습니다.

mysqli_connect(): (HY000/1040): Too many connections

MySQL : 너무 많은 연결 오류는 무엇을 의미합니까?

이는 MySQL에 너무 많은 요청이 수신 할 수있는 것보다 더 많이, 대기열에 있거나 대기 할 수있는 것보다 더 많이 들어오고 있음을 의미합니다.

그것을 해결하는 방법?

간단합니다. MySQL이 지원하는 최대 요청 (연결) 제한을 늘려야합니다.

이 문제를 해결할 수있는 두 가지 옵션을 제공합니다.

1. /etc/mysql/my.cfg 파일을 편집합니다.

nano /etc/mysql/my.cfg

그 안에 다음을 [mysql]이라고 적힌 곳에 넣습니다.

최대 연결 수 = 500 최대 사용자 연결 수 = 500

이렇게하면 최대 연결 수가 100 (기본값)에서 500으로 늘어납니다.

저장하고 종료 한 다음 MySQL 서비스를 다시 시작하면됩니다. 이 변경은 영구적입니다.

2. 이 문제를 해결하는 또 다른 방법은 MySQL 쿼리를 통해 최대 제한을 동일하게 변경하는 것입니다.

먼저 현재 제한을 보여 드리겠습니다.

mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'

다음과 같이 표시됩니다.

+ ----------------- + ------- + | 변수 _ 이름 | 가치 | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

즉, 현재 제한은 151 개 연결입니다. 쿼리를 통해 500 개로 늘려 보겠습니다.

mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'

준비 됐어!

이러한 방식의 문제는 서비스가 다시 시작될 때이 구성이 손실된다는 것입니다.

이 세부 정보를 제공하기 위해 X 시간마다 확인하는 bash 스크립트를 만들거나 데몬의 시작 또는 다시 시작 블록에 줄을 추가 할 수도 있습니다.

그런데 왜이 두 번째 옵션을 알고 싶습니까? ... 글쎄요, 제가 말했던 것입니다. 하지만 한 달 전에 우분투 서버는 2 번 방법을 무시 했으므로 ... 어리석은 OS의 극단적 인 경우에도 잘 작동하는이 두 번째 옵션이 있습니다 😉


6 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   넥스

    Good post, MySql… 그들은 FreeBSD에서 많이 사용합니다.… .KZKG ^ Gaara?,… FreeBSD에서 MySql을 설치하고 구성하는 방법에 대한 게시물을 작성하면 좋을 것입니다. SSH (secure-shell), SSH ( 웹을 통해), SFTP (SSH- 파일 전송 프로토콜), Apache-PHP- MySql, PHP5 및 PhpSysInfo 확장.

    1.    KZKG ^ 가아라

      이 작업을 수행하려면 FreeBSD를 설치해야합니다. 지금 당장은 시간이 없다고 생각합니다. 방금 전직을했고 새로운 책임이 많이 생겼습니다 🙁

  2.   사울

    최근에 nodejs로 프로젝트를 위해 비슷한 작업을해야했습니다. 제 경우에는 250 개로 증가했고 그 정도면 충분했습니다. 지금은 잘하고 있습니다. 정보 주셔서 감사합니다

  3.   시스코

    안녕하세요, /etc/mysql/my.cfg를 입력하는 방법을 도와 주시겠습니까?

    VPS가 있지만 PUTTY에 들어갈 수 없습니다.

    인사말.

  4.   미끼

    옵션 1의 문제를 해결하려면-주석 처리 된 옵션과 서버를 다시 시작할 때 변경 사항을 유지하려면 버전에 따라 파일을 편집해야합니다.

    ///////////////////////////////////////////////////////// //////////////////////
    // Ubuntu 16.04에서 디렉토리 변경 //////////////////////
    ///////////////////////////////////////////////////////// //////////////////////
    나는 /etc/mysql/mysql.conf.d/mysqld.cnf를 보았다

    ///////////////////////////////////////////////////////// //////////////////////
    // Ubuntu 15.04에서 디렉토리 변경 //////////////////////
    ///////////////////////////////////////////////////////// //////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    ///////////////////////////////////////////////////////// //////////////////////
    // 우분투 오래된 디렉토리를 변경합니다. ////////////////////////
    ///////////////////////////////////////////////////////// //////////////////////

    나는 /etc/mysql/my.cnf를 보았다

    ///////////////////////////////////////////////////////// //////////////////////
    // [mysqld] 또는 [mysql] 태그 아래에이 줄을 추가합니다. //
    // 그런 다음 서버를 다시 시작합니다. //
    ///////////////////////////////////////////////////////// //////////////////////
    MAX_CONNECTIONS = 500

  5.   분개

    처음부터 튜토리얼은 변경 방법을 알려줍니다.