"멈춘" MySQL 테이블 잠금 해제: "잠금 대기 시간 초과" 문제 해결
"잠금 대기 시간 초과가 발생하면 다시 시작해 보세요. MySQL에서 InnoDB 테이블로 작업하는 동안 "transaction" 오류가 발생하면 트랜잭션이 중단되었을 가능성이 높습니다. 테이블을 수정하고 중단된 트랜잭션을 해결하는 방법은 다음과 같습니다.
1. 중단된 트랜잭션 식별:
MySQL 명령줄 인터페이스 또는 phpMyAdmin을 통해 다음 명령을 실행합니다.
SHOW PROCESSLIST;
이렇게 하면 실행 중인 트랜잭션 목록이 표시됩니다. 스레드. 실행 시간이 길거나 "Sleep" 상태에 있는 스레드를 찾으십시오. 해당 스레드 ID가 "Id" 열에 표시됩니다.
2. 중단된 스레드 종료:
중단된 스레드가 식별되면 명령줄 인터페이스에서 다음 명령을 사용하여 종료합니다.
KILL;
3. 트랜잭션을 다시 시작합니다(선택 사항):
트랜잭션이 여전히 활성 상태인 경우 트랜잭션을 다시 시작하여 보유 중인 잠금을 해제합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다:
START TRANSACTION; COMMIT;
4. 인덱스 삭제(해당되는 경우):
이전에 영향을 받은 테이블에서 인덱스 삭제를 시도했지만 잠금으로 인해 실패한 경우 중단된 스레드를 종료하고 트랜잭션을 다시 시작한 후 다시 삭제해 보세요. .
ALTER TABLEDROP INDEX ;
이 단계를 수행하면 중단된 테이블의 잠금을 해제하고 "잠금 대기 시간 초과" 오류를 해결할 수 있습니다. 향후 유사한 문제를 방지하려면 실행 중인 스레드를 정기적으로 확인하여 잠재적인 중단된 트랜잭션을 식별하고 종료해야 합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3