mysql 트랜잭션 데드락 발생시 자동롤백 되나요?

mysql 트랜잭션 데드락 발생시 자동롤백 되나요?

QA

mysql 트랜잭션 데드락 발생시 자동롤백 되나요?

본문

제목과 같이

mysql에서 트랜잭션을 사용해서 데드락이 발생하면 일정시간 후 자동롤백 되는 기능이 있나요?

없다면 서비스가 그냥 멈추게 되나요?

 

 

이 질문에 댓글 쓰기 :

답변 1

MySQL에서는 데드락을 처리하기 위한 자동 롤백 기능이 별도로 제공되지는 않습니다. 만약 데드락이 발생하면, MySQL은 데드락을 해결하기 위해 대기하다가 타임아웃이 발생하면 롤백을 수행합니다.

 

MySQL에서 데드락이 발생하면, 롤백은 자동으로 수행되지 않습니다. 대신 MySQL은 데드락을 해결하기 위해 대기합니다. 데드락 해결을 위한 대기 시간은 innodb_lock_wait_timeout 시스템 변수를 사용하여 구성할 수 있습니다. 기본값은 50초입니다. 이 시간 내에 데드락이 해결되지 않으면, MySQL은 데드락을 감지하고 롤백을 수행합니다.

 

데드락이 발생하면, 서비스가 일시적으로 멈출 수 있습니다. 하지만 MySQL은 데드락을 자동으로 처리하고 롤백을 수행하므로, 서비스는 이후에 다시 정상적으로 동작할 수 있습니다. 따라서 서비스가 영구적으로 멈추는 것은 아닙니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,732 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT