"멈춘" MySQL 테이블 잠금 해제: "잠금 대기 시간 초과" 문제 해결
"잠금 대기 시간 초과가 발생하면 다시 시작해 보세요. MySQL에서 InnoDB 테이블로 작업하는 동안 "transaction" 오류가 발생하면 트랜잭션이 중단되었을 가능성이 높습니다. 테이블을 수정하고 중단된 트랜잭션을 해결하는 방법은 다음과 같습니다.
1. 중단된 트랜잭션 식별:
MySQL 명령줄 인터페이스 또는 phpMyAdmin을 통해 다음 명령을 실행합니다.
SHOW PROCESSLIST;
이렇게 하면 실행 중인 스레드 목록이 표시됩니다. 실행 시간이 길거나 "Sleep" 상태에 있는 스레드를 찾으십시오. 해당 스레드 ID가 "ID" 열에 표시됩니다.
2. 걸린 스레드 종료:
걸린 스레드가 식별되면 명령줄 인터페이스에서 다음 명령을 사용하여 종료하십시오.
KILL <thread_id>;
3. 트랜잭션 다시 시작(선택 사항):
트랜잭션이 아직 활성 상태인 경우 트랜잭션을 다시 시작하여 보유 중인 잠금을 해제합니다. 다음 명령을 실행하면 됩니다:
START TRANSACTION; COMMIT;
4. 인덱스 삭제(해당하는 경우):
이전에 영향을 받은 테이블에서 인덱스 삭제를 시도했지만 잠금으로 인해 실패한 경우 중단된 스레드를 종료하고 트랜잭션을 다시 시작한 후 다시 삭제해 보세요. .
ALTER TABLE <table_name> DROP INDEX <index_name>;
이 단계를 수행하면 중단된 테이블의 잠금을 해제하고 "잠금 대기 시간 초과" 오류를 해결할 수 있습니다. 향후 유사한 문제를 방지하려면 실행 중인 스레드를 정기적으로 확인하여 잠재적으로 중단된 트랜잭션을 식별하고 종료해야 합니다.
위 내용은 MySQL에서 \'Lock Wait Timeout Exceeded\' 오류를 수정하는 방법: 고정된 테이블 잠금 해제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!