서버가 오랜 시간 동안 비활성 상태로 있었다면 MySQL 서버와의 연결이 끊기면서 발생할 수 있다.
vi /etc/my.cnf 로 MySQL 설정을 열어 본다.
내 설정 my.cnf에는 wait_timeout 설정이 되어있지 않았다.
[mysqld]
wait_timeout = 28800 # 8 hours
interactive_timeout = 28800 # 8 hours
my.cnf를 수정했다면, 적용 하기 위해 서버를 재시작한다.
sudo service mysql restart
발생 원인
현재 Python으로 DB에 데이터를 insert하는 작업 중인데 작업 시간이 길어짐에 따라 발생하는 것 같다.
로그를 기록해뒀는데, MySQL 연결 부분은 에러처리가 안되어있었는지 로그에는 기록이 남은게 없고, 터미널에 표시되는게 끝이였다.
[ERROR] Processing for generated an exception: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, '현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다', None, 10053, None))")
[ERROR] Processing for generated an exception: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, '현재 연결은 사용자의 호스트 시스템의 소프트웨어의 의해 중단되었습니다', None, 10053, None))")
시도할 방법들
- MySQLModule 클래스의 메서드를 사용 하기 전 연결 상태를 확인하고 재연결 하는 코드를 추가
- Connection Pooling 을 사용하여 연결 중단 문제를 방지(pymysql 패키지에서 제공함)
- 서버 설정에서 max_allowed_packet 확인
코드 개발이 끝나고 계속 테스트를 했는데도 오랜 시간 실행하다보니 새로운 에러가 발생한다. ( ᵕ ᵕ̩̩ )
에러 그만..저에겐 해야할 것이 많이 남았다구요 !!
'Development > MySql' 카테고리의 다른 글
[MariaDB] 비트 함수 및 연산자 (1) | 2024.08.27 |
---|---|
[MySQL] 생성된 컬럼에 auto_increment 속성 부여하기 (0) | 2023.08.25 |
[MySQL] sql_mode=only_full_group_by 에러 해결 방법 (0) | 2023.08.11 |
[MongoDB] MongoDB를 MySQL으로 마이그레이션 하기 (0) | 2023.08.07 |
[MySQL] 테이블 깨졌을 때 복구하기 (0) | 2023.08.04 |