データベース内のトランザクションとロックを表示するための一般的なステートメント トランザクションの待機ステータスを確認します。選択 r.trx_id 待機中のtrx_id、 r.trx_mysql_thread_id 待機スレッド、 r.trx_query 待機クエリ、 b.trx_id ブロッキングtrx_id、 b.trx_mysql_thread_id ブロッキングスレッド、 b.trx_query ブロッキングクエリ から information_schema.innodb_lock_waits w 内部結合 information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id 内部結合 information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id; より具体的なトランザクション待機ステータスを表示します。選択 b.trx_state、 エステート、 e.time、 d.state AS ブロック状態、 d.time AS ブロック時間、 a.requesting_trx_id、 a.要求されたロックID、 b.trx_query、 b.trx_mysql_thread_id、 a.blocking_trx_id、 a.ブロッキングロックID、 c.trx_query AS block_trx_query、 c.trx_mysql_thread_id は block_trx_mysql_tread_id として から information_schema.INNODB_LOCK_WAITS は information_schema.INNODB_TRX b を a.requesting_trx_id = b.trx_id に LEFT JOIN します。 information_schema.INNODB_TRX c を a.blocking_trx_id = c.trx_id に LEFT JOIN します LEFT JOIN information_schema.PROCESSLIST d ON c.trx_mysql_thread_id = d.id information_schema.PROCESSLIST e を b.trx_mysql_thread_id = e.id に左結合します。 注文する 要求するtrx_id; 未完了の取引を表示:–MySQL 5.6 選択 、 a.trx_state、 a.trx_started、 a.trx_query、 入札、 b.ユーザー、 b.DB、 b.コマンド、 b.時間、 b.州、 b.情報、 c.PROCESSLIST_USER、 c.PROCESSLIST_HOST、 c.PROCESSLIST_DB、 d.SQL_TEXT から information_schema.INNODB_TRX a information_schema.PROCESSLIST b を a.trx_mysql_thread_id = b.id に LEFT JOIN します。 b.COMMAND = 'スリープ' PERFORMANCE_SCHEMA.threads c を b.id = c.PROCESSLIST_ID に左結合します。 PERFORMANCE_SCHEMA.events_statements_current d を d.THREAD_ID = c.THREAD_ID で左結合します。 –MySQL 5.5 選択 、 a.trx_state、 a.trx_started、 a.trx_query、 入札、 b. ユーザー、 b. ホスト、 b.DB、 b.コマンド、 b.時間、 b.州、 b.情報 から information_schema.INNODB_TRX a information_schema.PROCESSLIST b を a.trx_mysql_thread_id = b.id に LEFT JOIN します。 どこ b.COMMAND = 'スリープ'; 一定期間終了していない取引を表示します。選択 trx_id、 trx_started、 trx_mysql_スレッドID から INFORMATION_SCHEMA.INNODB_TRX どこ trx_started < date_sub(now(), 間隔 1 分) trx_operation_state が NULL です かつ、trx_query が NULL です。 補足: MySQL ロックステータス表示コマンド 1 プロセスリストを表示します。SHOW PROCESSLIST は実行中のスレッドを表示します。この情報を取得するには、mysqladmin processlist ステートメントを使用することもできます。 SUPER権限をお持ちの場合は、すべてのスレッドを閲覧できます。それ以外の場合は、自分のスレッド (つまり、使用している MySQL アカウントに関連付けられているスレッド) のみが表示されます。スレッドがテーブルを更新または挿入している場合、プロセスのステータスはデータの更新または送信中になります。 このステートメントは、「接続が多すぎます」というエラー メッセージが表示され、何が起こっているのか理解したい場合に役立ちます。 MySQL は、管理者が常にシステムに接続して検査できるように、SUPER 権限を持つアカウントが使用するための追加の接続を予約します (この権限をすべてのユーザーに付与していないと仮定)。
ほとんどの状態は非常に高速な操作に対応しています。スレッドが数秒間同じ状態のままである場合は、問題が発生している可能性があるため、確認する必要があります。上記に記載されていないステータスもありますが、そのほとんどはサーバーにエラーがあるかどうかを確認する場合にのみ役立ちます。 2 完全なプロセスリストを表示します。show processlist; では最初の 100 項目のみがリストされます。すべての項目をリストする場合は、show full processlist; を使用してください。 3 開いているテーブルを表示します。このコマンドは、現在開いているテーブルを確認できます。 In_use 列はテーブルを使用しているスレッドの数を示し、Name_locked はテーブル名がロックされているかどうかを示します。これは通常、このテーブルに対して Drop コマンドまたは Rename コマンドが実行されるときに発生します。したがって、このコマンドは、特定のテーブルが現在デッドロックされているかどうか、テーブルのロック所有者は誰かなど、よくある質問への回答には役立ちません。 データベースから開いているテーブルを表示します。 4 '%lock%' のようなステータスを表示するサーバーの状態を確認してください。 5 エンジンの innodb ステータスを表示します\G;MySQL 5.1 より前のコマンドは、show innodbstatus\G; です。MySQL 5.5 では、上記のコマンドを使用して、innodb エンジンのランタイム情報を表示できます。 6 '%timeout%' のような変数を表示します。サーバー構成パラメータを表示します。 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK
おすすめの読み物: Navicat12.1シリーズのクラッキングとアクティベーションのチュートリアル...
MySQL ツールを使用して、3 日間連続する例を見てみましょう。 1. SQL テーブルを作成しま...
Remレイアウトの適応Vant のスタイルでは、デフォルトで px を単位として使用します。rem ...
すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...
ここでは、v3 のインストールと使用にのみ焦点を当てます。v2 について学びたい場合は、公式 Web...
序文Linux には Windows のような目立つごみ箱がないため、簡単に復元することはできません...
1. mysqlをインストールします。 udo apt-getでmysql-serverをインストー...
序文JavaScript は、キーワードを使用してプライベート変数を宣言できる他の言語とは異なります...
XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...
この記事では、角を丸くするためのjsキャンバスの具体的なコードを参考までに紹介します。具体的な内容は...
DTD はマークアップの文法規則のセットです。これは XML 1.0 仕様の一部であり、HTML フ...
MyISAM ストレージエンジンMyISAM ストレージ エンジンは、書き込みよりも読み取りが多く、...
序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...
この記事では、アコーディオンを実装するためのjQueryの具体的なコードを参考までに紹介します。具体...
目次MySQLの大文字と小文字の区別はパラメータによって制御されますMySQLの大文字と小文字の区別...