💪 Today I Learned

MySQL connection locked 현상

과제 수행 도중 Postman에서 계속 서버 에러가 뜨며 아래 메시지를 날렸다.

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

구글링해보니 MySQL 은 외부에서 비정상적인 접속이라 판단되는 경우 해당 호스트를 블락시킨다고 한다. 이렇게 비정상 접속이라고 판단되는 케이스는

  1. 단순 ConnectDisconnet하는 연결이 빈번하거나
  2. 접근 계정의 패스워드가 계속해서 불일치하는 경우
  3. 혹은 기타 사이버 공격으로 의심되는 케이스

라고 한다. 여러 해결법이 있었는데, 나는 그냥 호스트 블락 자체를 초기화시켰다.

# Host Block 초기화
FLUSH HOSTS;

# max_connect_erros 확인 후 변경
SELECT @@global.max_connect_errors;
SET global max_connect_errors=10000;

# max_connections 확인 후 변경
SELECT @@global.max_connections;
SET global max_connections=300;

Brunch API 설계

어제는 GET 방식만 설계해봤지만 오늘은 다른 HTTP method들도 사용했다. 특히 댓글창 구현하는 데 힘썼다.

  • GET /comment/{post-idx}
  • POST /comment
  • PATCH /comment
  • DELETE /comment

그대로 PATCH를 사용할지 PUT으로 변경할지는 조금 더 고민해봐야겠다.

🏃 한마디

사실 API 명세서를 같이 작성해야 하는데 너무 API 만드는 데에만 초점을 두고있는 것 같다. 추가적으로 더 만들지 말고 명세서부터 써야겠다.
명세서 잘 작성하려고 HTTP status code 포스팅까지 했으니 빨리 시작해야지.