📚 [Mysql] last packet sent successfully to the server was 75,223,663 milliseconds ago. is longer than the server configured value of 'wait_timeout'.

Category: Mysql | 📅 June 28, 2021

위 에러는 종료된 DB세션을 WAS에서 재사용하려다 발생하는 에러임. 서비스에 큰 영향을 주지는 않으나 로그 관리를 위해서는 적절한 값으로 바꿔주는게 바람직함.

> show variables like '%timeout';

위 명령으로 wait_timeout 값을 확인해 보면 대부분 28800 으로 되어 있다.

초단위 이므로 28800/3600 = 8시간임을 알 수 있다.

이 시간을 24시간 (3600 * 24 = 86400) 으로 늘려두던지

아니면 JDBC 설정에서 변경하면 되는데, 여기서는 SQL로 늘리는 방법을 적어둔다.

> set session wait_timeout = 86400;
> set global session wait_timeout = 86400;
> commit;
💭 Reviews
  • WAS에서는 jdbc uri 구문에 `autoreconnect=true` 를 추가함.
  • 개발에서 논의되는 것이 좋다.