Computer/공부정리

[MySQL]Error Code: 1205. Lock wait timeout exceeded; try restarting transaction (부제: 갑자기 update, delete, insert가 안 된다면..? )

이르리의 공부일지 2023. 10. 20. 13:29

오늘의 에러명

Error Code: 1205. Lock wait timeout exceeded; try restarting transaction

 

원래 잘 되던 update, delete, insert 모두 안 되는 문제가 생겼다.

 

 


해결

 

 

1. processlist 를 확인해본다.

 

 

SQL 입력

 

하면 

 

 

Workbench Result 화면

 

admin에서 완료되지 않은 process들이 여러개이다.

이걸 삭제해준다.

(본인이 하는 업무에 해당하지 않는 process들만)

 

 

 

2. kill <id> 로 process 삭제

결과는,

0 row(s) affected Rows matched: 2  Changed: 0  Warnings: 0

라고 나왔지만

 

다시 processlist 확인해보면 잘 삭제돼있다.

 

그 후 update, delete, insert 모두 잘 되는 것을 확인했다.

 

 

 

참고 블로그

https://blog.naver.com/PostView.nhn?blogId=kkson50&logNo=220384375228&parentCategoryNo=&categoryNo=9&viewDate=&isShowPopularPosts=false&from=postView

 

[문제해결] Lock wait timeout exceeded; try restarting transaction

현상 DB에서 SQL실행시에 아래와 같은 에러 발생함. Lock wait timeout exceeded; try restarting tr...

blog.naver.com

결국 이분덕에 해결  ㅜㅜ

 

 


기타 시도

1. Workbench preferences(기본설정)에서 SQL Editor - MySQL Session 의 interval 값들 수정

Workbench preferences - SQL Editor - MySQL Session

 

각각 1000, 1000, 1000으로 입력했는데

 

로딩만 오래 걸리지 결과적으론 또 에러 뜬다.

 

값을 작게 하면 바로 에러 뜨고..

 

아마 약간 로딩이 더 걸리는 경우엔 괜찮지만 

 

내 DB는 크게 얹힌 것 같았다.

 

 

 

 

2. SQL로 innodb_lock 을 select(조회)하여 timeout 관련사항 확인

 

SHOW VARIABLES LIKE '%wait_timeout%';

 

근데 이걸로 해결할 수 있는 문제가 아닌 것 같아서 또 찾아봄.

 

그냥 time_out 확인용..

 

 

참고 블로그

https://velog.io/@army262/mysql-waittimeout

 

mysql wait_timeout

aws rds의 mysql을 기본설정으로 셋팅 후 서비스를 개방하면위와 같은 오류를 쉽게 만날 수 있다.물론 유저가 별로 들어오지 않으면 문제는 생기지 않겠지만(ㅠ.ㅠ 서비스가 망했어요) 유저가 어느

velog.io