우아한 프로그래밍
반응형
Mysql (Maria) Db 테이블락 확인하고 강제중지 방법.

테이블락은 어떻게 걸리는가? 보통 기본설정의 Rdbms는 Select문을 제외하고 Delete/Update/Insert문에 대해서 테이블 락을 걸게됩니다. 가령 A라는 사람이 Delete Table;의 명령문을 실행한 상태에서 커밋을 치지않는 다면 해당커넥션이 아닌 다른 커넥션 즉 B,C,D라는 사람은 해당테이블에 Select를 제외한 Delete/Update/Insert을 수행할 수 없습니다. 그럼 B,C,D라는 사람이 Delete/Update/Insert문을 수행하게되면 테이블 Lock키를 얻기위해 무한대기에 빠지게됩니다. 이 무한락을 해제하는 방법은 A라는 사람이 Lock을 해제하는것이죠 ( 커밋을 치거나 롤백을 하거나) 그러나 A라는 사람은 모른다고합니다. 그럼 A가 실행시킨 구문을 직접 킬시켜야..

반응형