개발하면서 부딪혔던 문제들/DB

[DB][Mariadb] Mariadb 활용 시 error-1

desmort68 2018. 7. 22. 22:38

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/