python과 mariadb를 연결시키는 도중 발생한 에러
1. 발생한 오류 메시지: lock wait timeout exceeded try restarting transaction
2. 에러의 의미: 실행하려는 프로세스가 lock으로 인해 대기 시간을 초과하여 에러 메시지를 보냄.
3. 어떻게 해결했는가
1. mariadb에서 명령어( show processlist; ) 를 사용해서 lock이 걸린 processlist를 알아본다.
2. 명령어( show full processlist; ) 를 통해 process의 pid를 알아오고 명령어( kill [pid];) 명령어를 통해 lock이 걸려있는 process를 없애준다. (lock이 걸린 process는 Time의 변화를 통해 알 수 있다)
3. 이번 경우에는 이렇게 해결했지만 lock에 따른 문제이기 때문에 lock을 이해하고 이에 대한 설정을 줘야 된다고 생각한다. 아래 블로그를 참조하여 lock의 개념을 이해하고 적절한 조치를 취해줘야 한다고 본다.
4. 참조 블로그:
http://blog.saltfactory.net/introduce-mysql-lock/
'개발하면서 부딪혔던 문제들 > DB' 카테고리의 다른 글
[DB][Mariadb] Lock 문제를 해결해보자 (2) | 2018.07.26 |
---|---|
[DB][Mariadb 활용기] auto_increment 사용 시 주의사항 (0) | 2018.07.24 |