MySQL에서 \'Lock Wait Timeout Exceeded\' 오류를 수정하는 방법: 고정된 테이블 잠금 해제

Mary-Kate Olsen
풀어 주다: 2024-11-19 17:08:03
원래의
139명이 탐색했습니다.

How to Fix

"멈춘" MySQL 테이블 잠금 해제: "잠금 대기 시간 초과" 문제 해결

"잠금 대기 시간 초과가 발생하면 다시 시작해 보세요. MySQL에서 InnoDB 테이블로 작업하는 동안 "transaction" 오류가 발생하면 트랜잭션이 중단되었을 가능성이 높습니다. 테이블을 수정하고 중단된 트랜잭션을 해결하는 방법은 다음과 같습니다.

1. 중단된 트랜잭션 식별:

MySQL 명령줄 인터페이스 또는 phpMyAdmin을 통해 다음 명령을 실행합니다.

SHOW PROCESSLIST;
로그인 후 복사

이렇게 하면 실행 중인 스레드 목록이 표시됩니다. 실행 시간이 길거나 "Sleep" 상태에 있는 스레드를 찾으십시오. 해당 스레드 ID가 "ID" 열에 표시됩니다.

2. 걸린 스레드 종료:

걸린 스레드가 식별되면 명령줄 인터페이스에서 다음 명령을 사용하여 종료하십시오.

KILL <thread_id>;
로그인 후 복사

걸린 스레드의 ID로

3. 트랜잭션 다시 시작(선택 사항):

트랜잭션이 아직 활성 상태인 경우 트랜잭션을 다시 시작하여 보유 중인 잠금을 해제합니다. 다음 명령을 실행하면 됩니다:

START TRANSACTION;
COMMIT;
로그인 후 복사

4. 인덱스 삭제(해당하는 경우):

이전에 영향을 받은 테이블에서 인덱스 삭제를 시도했지만 잠금으로 인해 실패한 경우 중단된 스레드를 종료하고 트랜잭션을 다시 시작한 후 다시 삭제해 보세요. .

ALTER TABLE <table_name> DROP INDEX <index_name>;
로그인 후 복사

이 단계를 수행하면 중단된 테이블의 잠금을 해제하고 "잠금 대기 시간 초과" 오류를 해결할 수 있습니다. 향후 유사한 문제를 방지하려면 실행 중인 스레드를 정기적으로 확인하여 잠재적으로 중단된 트랜잭션을 식별하고 종료해야 합니다.

위 내용은 MySQL에서 \'Lock Wait Timeout Exceeded\' 오류를 수정하는 방법: 고정된 테이블 잠금 해제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿