[AWS_RDS] MySQL: wait_timeout & interactive_timeout

2021. 1. 6. 09:43AWS/AWS_ERROR

반응형

안녕하세요, 달콤한달팽이입니다.🐌


AWS RDS(MySQL)에서 파라미터 값(wait_timeout)을 수정해도 적용되지 않는 에러에 관하여 알아보겠습니다.


ERROR 발생

RDS 파라미터 그룹에서 wait_timeout에 대한 값을 수정하였습니다.

 

하지만 변경사항에 대하여 쿼리문을 통해 확인할 경우 정상적으로 수정되지 않는 경우 발생했습니다.

 

원인

RDS의 파라미터 이외에 wait_timeout에 영향을 주는 변수가 RDS내부에 있을 것으로 예상됩니다.

 

이를 확인하기 위해 interactive_timeout 값을 수정한 후, 다시 wait_timeout 값을 조회해보니

wait_timeout 값이 이를 따라간 다는 것을 확인하였습니다.

  show variables like '%timeout';

 

wait_timeout 값을 20, interactive_timeout을 10으로 설정한 후 Batch 모드로 접속했을 경우,

wait_timeout과 interactive_timeout이 별도로 설정되는 것을 확인할 수 있었습니다.

  mysql -u{ID} -p{PW} -h{endpoint} -B

 

이를 통해 interactive_timeout용 timeout과 non-ineteractive_timeout(batch)용 timeout이 별도로 존재한다는 것을 예상할 수 있었습니다.

 

해결방법

이를 통해 아래와 같은 특이사항을 확인할 수 있었습니다.

  1) interactive-mode일 경우: wait_timeout값이 interactive_timeout에서 파생

  2) non-interactive-mode(batch)일 경우: wait_timeout값이 wait_timeout에서 파생

 

때문에 MySQL의 mode에 따라 wait_timeout 값을 가져오는 변수가 다르다는 것을 인지하고 사용하였습니다.

반응형