programing

MySQL 연결이 많은 연결 오류로 차단된 이유는 무엇입니까?

muds 2023. 11. 7. 21:11
반응형

MySQL 연결이 많은 연결 오류로 차단된 이유는 무엇입니까?

보시다시피 데이터베이스 연결에 문제가 있습니다.다음과 같은 오류가 발생합니다.

...많은 연결 오류로 인해 차단됨

몇 가지 답을 찾아봤지만 문제가 해결되지 않았습니다.

필요한 정보를 다 줬는지 모르니 다른 것이 필요하시면 말씀하세요.다른 컴퓨터에서 데이터베이스가 연결되어 있고 데이터베이스에 액세스할 수 있는 사용자가 생성되었지만%호스트 행에 있어서 보안상의 문제로 IP 주소로 변경하려고 했는데 이런 오류가 생겨서 지금 막혔습니다.

MySQL은 잘못된 형식의 클라이언트로부터 MySQL을 보호하기 위해 연결하는 동안 발생한 오류를 차단합니다.

그래서 먼저, 어떤 종류의 오류인지 찾아야 합니다.

데이터 디렉토리에서 MySQL 오류 로그를 확인할 수 있습니다.(일반적으로 hostname.err)

늘리면 됩니다.max_connect_errors(현재 값이란?) 최대값은 아키텍처에 따라 달라집니다.32비트의 경우, 64비트의 경우 4294967295. 18446744073709547520. (수동)

mysql> SET GLOBAL max_connect_errors = 100000000;

그러나 오류가 자주 발생한다면 이는 진정한 해결책이 아닙니다.

FLUSH HOSTS지금 당장 차단된 호스트를 제거할 수 있습니다.

mysql> FLUSH HOSTS;

외부 mysqladmin 콘솔에서 실행하려면 mysqladmin 명령을 사용합니다.

# mysqladmin flush-hosts

다음 명령을 사용하여 로컬 MySQL 호스트를 먼저 플러시합니다.

mysqladmin -u [username] -p flush-hosts
**** [MySQL password]

아니면

mysqladmin flush-hosts -u [username] -p
**** [MySQL password]

네트워크 MySQL 서버:

mysqladmin -h <ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [END POINT URL] -P 3306 -u [DB USER] -p flush-hosts 

추가 제안은 my.ini 파일 [Mysql configuration file]을 편집하여 차단된 많은 연결 오류 문제를 영구적으로 해결할 수 있습니다.

변수 max_connections = 10000;

아니면

명령줄을 사용하여 MySQL에 로그인합니다.

mysql -u [username] -p
**** [MySQL password]

MySQL 창에 아래 명령을 입력합니다.

SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;

명령을 사용하여 확인 -

show variables like "max_connections";
show variables like "max_connect_errors";

언급URL : https://stackoverflow.com/questions/20014746/why-mysql-connection-is-blocked-of-many-connection-errors

반응형