mysql Lock wait timeout exceeded; try restarting transaction 해결하는 좋은 방법은 무엇일까요 0 2 3,122

by momo [MySQL] 트랜잭션 에러 [2023.07.16 14:33:20]


안녕하세요. 

 

api를 사용할 때 간혹가다가 mysql에서 Lock wait timeout exceeded; try restarting transaction 문제가 발생하는 경우가 있습니다.

 

문제가 터지고서 mysql들어가서 실행중인 트랜잭션을 봐도 정작 쿼리 정보는 안나와서 어디가 문제인지도 모르겠고

재현하려고 해도 얽혀있는 백엔드 로직이 많아서 어디에서 에러가 터지는지 찾는것도 쉽지가 않습니다.

 

혹시나 mysql innodb_lock_wait_timeout 시간을 10 -> 50초로 늘려보면 해결될까 싶어서 시도해봤지만 여전히 문제가 발생하네요.

 

mysql에서 Lock wait timeout exceeded; try restarting transaction의 문제 원인을 찾는 좋은 방법은 무엇일까요? ㅠㅠ

 

 

by pajama [2023.07.16 19:24:18]

lock wait을 50초로 늘리셔도 동일하다면 다른 트랜잭션이 lock을 50초 이상 점유하고 있다는걸텐데요.

lock을 오래 가지고 있는 쿼리 처리 범위를 줄이던가 해야할 것 같습니다.

아래 잘 정리된 글이 있네요 참고해보시길 바랍니다.

https://kapentaz.github.io/mysql/Lock-wait-timeout-exceeded;-try-restarting-transaction-%EB%B0%9C%EC%83%9D-%EC%9D%B4%EC%9C%A0%EC%99%80-%ED%95%B4%EA%B2%B0/#

 

 


by momo [2023.07.17 09:11:23]

답변 감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입