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을 재시작 하지 않아도 적용된다.
반응형