DB/MySQL · MariaDB

[MySQL • MariaDB] 앗! DB 접속이 블락됐어요 (Error 1129)

율토리 촌장 2020. 10. 15. 15:34

 

얼마전, 율토리 마을의 MySQL DB Server 로 접속이 안되는 상황이 벌어졌다.

 

MySQL은 다음과 같은 에러 구문을 토해냈다.

 

ERROR 1129 (HY000) : Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

 

 

 

이 에러는 어떤 에러인고?

왜 생긴것인고??!!

어떻게 해야하는고??

 

 

 

MySQL은 외부에서 정상적이지않은 접속이라 판단되는 경우,

해당 Host 를 Block 시키는 동작을 한다.

 

* 비정상 접속이라 판단되는 Case

  1) 단순 Connect 후 Disconnect 하는 연결의 빈번.

  2) 접근 계정의 패스워드 불일치

  3) 기타 사이버 공격으로 의심되는 Case

 

이러한 Connect Error 횟수가,

MySQL 에 설정한 허용 가능 횟수보다 더 클 경우 해당 Host 는 Block 이 된다.

 

 

그럼 어떻게 해결해야할까?

먼저 내 MySQL 이 허용하고 있는 Error Connection 수를 확인해 보자.

 

## Error Connect 허용하는 최대 횟수 확인
SELECT @@global.max_connect_errors

## Host Block 의 초기화 처리
FLUSH HOSTS;

## Error Connect 허용하는 최대 횟수 10000번으로 설정
SET GLOBAL max_connect_errors=10000;

 

 

위와 같이 처리하면 MySQL 에 접속이 가능하게 된다.

 

 

 

Tip. MySQL 동시 접속 가능 Connection 수 늘리기

 

## 동시 접속 가능 Connection 수 확인
SELECT @@global.max_connections

## 동시 접속 가능 Connection 수 300으로 늘리기
SET GLOBAL max_connections=300;