>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

WBOY
WBOY앞으로
2023-05-29 11:31:122617검색

1. 이유

DDL 문이 실행되면 MDL 메타데이터 쓰기 잠금이 자동으로 테이블에 추가되며 트랜잭션이 커밋될 때까지 잠금이 해제되지 않습니다. 이 잠금의 목적은 테이블 구조의 무결성과 메타데이터의 일관성을 보호하는 것입니다.

2. 처리 방법

제작 환경은 아래 그림과 같습니다. 세션 A는 트랜잭션을 열고 DQL을 실행합니다

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

이때 세션 B는 두 필드에 전체 텍스트 인덱스를 추가해야 합니다. table

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

실행 후 마스터가 정체된 것으로 확인됨

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

관련 프로세스 목록을 확인하여 mdl 메타데이터 잠금을 얻기 위해 기다리고 있음을 확인함

select * from information_schema.processlist where info like '%alter table `bas_business_type_text` %'

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

을 살펴보면 테이블 잠금 상황에서 읽기 및 쓰기 잠금이 상호 배타적인 것을 볼 수 있습니다

SELECT * FROM sys.schema_table_lock_waits

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

프롬프트에 따라 kill 11을 실행

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

세션 B가 성공적으로 실행된 것을 볼 수 있습니다

MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법

위 내용은 MySQL에서 테이블 메타데이터 잠금 대기 예외를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제