ホームページ > データベース > mysql チュートリアル > MySQL でテーブル メタデータ ロックの待機例外を解決する方法

MySQL でテーブル メタデータ ロックの待機例外を解決する方法

WBOY
リリース: 2023-05-29 11:31:12
転載
2615 人が閲覧しました

1. 理由

DDL ステートメントが実行されると、MDL メタデータ書き込みロックがテーブルに自動的に追加され、トランザクションがコミットされるまでロックは解放されません。このロックの目的は、テーブル構造の整​​合性とメタデータの一貫性を保護することです。

2. 処理方法

本番環境を以下のようにモードにします: セッション A がトランザクションを開き、DQL を実行します

MySQL でテーブル メタデータ ロックの待機例外を解決する方法

このセッション Bテーブルの 2 つのフィールドにフルテキスト インデックスを追加する必要があります。

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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート