DataBase

[MySQL] MySQL 외부 접속 Connection Locked 에러 해결

토발자 2024. 1. 22. 18:00
반응형

에러 발생

예전에 회사에서 원격으로 근무하고 있던 동료 개발자로부터 에러가 발생했다고 공유 받았다.

DB는 MySQL이며 아래와 같은 에러 메세지가 떴다고 한다.

ERROR 1129(00000): Host '*' is blocked because of many connection errors.

Unblock with 'mysqladmin flush-hosts'

 

 

에러 원인

검색해보니 바로 원인을 알 수 있었다.

원격 서버에서 MySQL 서버로 연결한 뒤 close를 하면 MySQL은 비정상적인 접속으로 판단해 해당 IP를 블락 처리한다고 한다.

이 때 MySQL에서 이와 같은 비정상적인 접속 요청 수를 카운팅해서 global.max_connect_errors에 지정된 값을 넘기면 자동 블락 처리가 되어 생긴 이슈였다.

 

 

에러 해결

해당 값을 변경해주면 에러는 쉽게 해결된다.

 

-- max_connect_errors 카운트 확인
select @@global.max_connect_errors;

-- max_connections 카운트 확인
select @@global.max_connections;

-- 에러 카운트 초기화
flush hosts;

-- max_connections 변경
set global max_connections=300;

-- max_connect_errors 변경
set global max_connect_errors=10000;

 

이렇게 새로 세팅하고 나서 MySQL을 재시작 하지 않아도 적용된다.

반응형