Skip to content
조회 수 20965 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


시스템은 멀쩡한데 느닷없이 mysql 접속거부의 이유는 max_connect_errors과의 연관성


MySQL의 호스트 블럭킹 & max_connect_errors

좋은진호님 글



MySQL Server가 동작중인지 원격에서 검사할 때 유의할 점이다.

원격 서버의 MySQL 3306 포트가 살아있는지 검사할 때 단순히 커넥션을 한 후 close하게 되면

MySQL은 비정상적인 접속으로 판단하여 해당 IP를 블럭킹할 수 있다.


MySQL은 비정상적인 접속에 대한 요청수를 카운트를 하는데 max_connect_errors 변수에서 지정한 값을

넘으면 블럭킹을 한다. 기본 값은 10이며, 정기적인 포트 점검이 필요한 경우 이 수를 높여라.


MySQL Manual


 
A.2.5 Host 'host_name' is blocked

If you get the following error, it means that mysqld has received many connect requests from the
host 'host_name' that have been interrupted in the middle:

Host 'host_name' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts'

The number of interrupted connect requests allowed is determined by the value of the
max_connect_errors system variable. After max_connect_errors failed requests, mysqld assumes that
something is wrong (for example, that someone is trying to break in), and blocks the host from
further connections until you execute a mysqladmin flush-hosts command or issue a FLUSH HOSTS
statement. See section 5.2.3 Server System Variables.

By default, mysqld blocks a host after 10 connection errors. You can adjust the value by starting
the server like this:

shell> mysqld_safe --max_connect_errors=10000 &

If you get this error message for a given host, you should first verify that there isn't anything
wrong with TCP/IP connections from that host. If you are having network problems, it will do you no
good to increase the value of the max_connect_errors variable.
 



도움이 되는 글


- MySQL의 안정성은 DNS의 안정성에 달려 있다. 즉, DNS의 설정 상태가 좋지 않을 
경우에는, MySQL 서버도 그 만큼 안정하지 못하게 된다. 
- 만일 네트워크가 안정하지 못할 경우, max_connect_errors가 빠른 시간 안에 10 (디 
폴트 값) 에 도달하게 되고 동일 클라이언트의 향후 커넥션을 거부하게 된다. 

따라서, 이러한 문제를 해결하기 위한 방법을 아래와 같이 제안 한다: 

1. 절대로 외부에서 MySQL 서버에 커넥션을 하도록 만들지 말 것. 
2. MySQL에서 libwrap를 지원하도록 활성화 시키지 말 것. 이것을 활성화 시키는 것 
은 단지 문제를 더 어렵게 하는 것이다. 
3. 여러분의 my.cnf 파일에서 skip_name_resolve를 활성화 시킬 것. 이렇게 하면, 모 
든 호스트 이름에서 점(period)를 비활성화(disable) 시킨다. 모든 All GRANT는 반드 
시 IP주소를 기반으로 되어 있어야 한다. 
4. max_connect_errors를 매우 높게 설정한다: 예를 들면, 99999999. 이렇게 하면 네트 
워크 또는 클라이언트의 문제로 인한 우발적인 커넥션 단절 문제를 피할 수가 있다. 

위의 사용 팁을 활용해서 좋은 결과를 얻기를……. 







로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
2064 연예정보 크라운제이 서인영 최고의사랑 결혼 가능성 file 2016.11.01 6402
2063 주식 쿠팡 이런회사를 사고 싶다. file 2016.01.08 1374
2062 연예정보 쿠시 비비안 열애설 진짜였나? 1 file 2016.07.13 11937
2061 유용한상식 콩나물국 끓이기 정말 쉬운 방법 2015.11.08 556
2060 유용한상식 콜라의 위엄 2013.09.07 11823
2059 재미재미 콘서트장 여고생들 패기 3 file 2012.10.12 5138
2058 회로도전자부품 콘덴서를 이용한 전류조절 2015.10.04 4728
2057 회로도전자부품 콘덴서를 연결하는 이유 2013.09.05 8975
2056 회로도전자부품 콘덴서(캐패시터) 2013.09.07 9130
2055 회로도전자부품 콘덴서(capacitor) 강좌 file 2014.01.22 7830
Board Pagination Prev 1 ... 27 28 29 30 31 ... 235 Next
/ 235

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소