💪 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 은 외부에서 비정상적인 접속이라 판단되는 경우 해당 호스트를 블락시킨다고 한다. 이렇게 비정상 접속이라고 판단되는 케이스는
- 단순 Connect 후 Disconnet하는 연결이 빈번하거나
- 접근 계정의 패스워드가 계속해서 불일치하는 경우
- 혹은 기타 사이버 공격으로 의심되는 케이스
라고 한다. 여러 해결법이 있었는데, 나는 그냥 호스트 블락 자체를 초기화시켰다.
# 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 포스팅까지 했으니 빨리 시작해야지.