ホームページ >データベース >mysql チュートリアル >MySQL でテーブル メタデータ ロックの待機例外を解決する方法
DDL ステートメントが実行されると、MDL メタデータ書き込みロックがテーブルに自動的に追加され、トランザクションがコミットされるまでロックは解放されません。このロックの目的は、テーブル構造の整合性とメタデータの一貫性を保護することです。
本番環境を以下のようにモードにします: セッション A がトランザクションを開き、DQL を実行します
このセッション Bテーブルの 2 つのフィールドにフルテキスト インデックスを追加する必要があります。
実行後、マスターがスタックしていることがわかりました。
関連プロセスのリストを確認すると、mdl メタデータ ロックの取得を待機していることがわかります。
select * from information_schema.processlist where info like '%alter table `bas_business_type_text` %'#テーブル ロックの状況を確認すると、読み取りロックと書き込みロックが相互に排他的であることがわかります。
SELECT * FROM sys.schema_table_lock_waitsプロンプトに従って、kill 11 を実行します。セッション B がすぐに正常に実行されたことがわかります。
以上がMySQL でテーブル メタデータ ロックの待機例外を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。