PLAN REPLAYERを使用して、クラスターのオンサイト情報を保存および復元します

TiDBクラスタの問題を見つけてトラブルシューティングするときは、多くの場合、システムと実行プランに関する情報を提供する必要があります。より便利で効率的な方法で情報を取得し、クラスタの問題をトラブルシューティングするのに役立つように、 PLAN REPLAYERコマンドがTiDBv5.3.0に導入されました。このコマンドを使用すると、クラスタのオンサイト情報を簡単に保存および復元でき、トラブルシューティングの効率が向上し、管理のために問題をより簡単にアーカイブできます。

PLAN REPLAYERの特徴は次のとおりです。

  • オンサイトトラブルシューティングでのTiDBクラスタの情報をZIP形式のファイルにエクスポートして保存します。
  • 別のTiDBクラスタからエクスポートされたZIP形式のファイルをクラスタにインポートします。このファイルには、オンサイトトラブルシューティングでの後者のTiDBクラスタの情報が含まれています。

PLAN REPLAERを使用してクラスタ情報をエクスポートします

PLAN REPLAYERを使用して、TiDBクラスタのオンサイト情報を保存できます。エクスポートインターフェイスは次のとおりです。

PLAN REPLAYER DUMP EXPLAIN [ANALYZE] sql-statement;

sql-statementに基づいて、TiDBは次のオンサイト情報を分類してエクスポートします。

  • TiDBバージョン
  • TiDB構成
  • TiDBセッション変数
  • TiDBSQLバインディング
  • sql-statementのテーブルスキーマ
  • sql-statementのテーブルの統計
  • EXPLAIN [ANALYZE] sql-statementの結果

ノート:

PLAN REPLAYERテーブルデータをエクスポートしません

クラスタ情報のエクスポートの例

use test; create table t(a int, b int); insert into t values(1,1), (2, 2), (3, 3); analyze table t; plan replayer dump explain select * from t;

PLAN REPLAYER DUMPは、上記のテーブル情報をZIPファイルにパッケージ化し、実行結果としてファイル識別子を返します。このファイルは1回限りのファイルです。ファイルがダウンロードされた後、TiDBはそれを削除します。

ノート:

ZIPのファイルは最大1時間TiDBクラスタに保存されます。 1時間後、TiDBはそれを削除します。

MySQL [test]> plan replayer dump explain select * from t; +------------------------------------------------------------------+ | Dump_link | +------------------------------------------------------------------+ | replayer_single_JOGvpu4t7dssySqJfTtS4A==_1635750890568691080.zip | +------------------------------------------------------------------+ 1 row in set (0.015 sec)

ファイルはMySQLクライアントにダウンロードできないため、ファイルをダウンロードするには、TiDBHTTPインターフェイスとファイル識別子を使用する必要があります。

http://${tidb-server-ip}:${tidb-server-status-port}/plan_replayer/dump/${file_token}

${tidb-server-ip}:${tidb-server-status-port}は、クラスタの任意のTiDBサーバーのアドレスです。例えば:

curl http://127.0.0.1:10080/plan_replayer/dump/replayer_single_JOGvpu4t7dssySqJfTtS4A==_1635750890568691080.zip > plan_replayer.zip

PLAN REPLAYERを使用してクラスタ情報をインポートします

PLAN REPLAYERを使用してエクスポートされた既存のZIPファイルでは、 PLAN REPLAYERインポートインターフェイスを使用して、クラスタのオンサイト情報を他のTiDBクラスタに復元できます。構文は次のとおりです。

PLAN REPLAYER LOAD 'file_name';

上記のステートメントで、 file_nameはエクスポートされるZIPのファイルの名前です。

例えば:

PLAN REPLAYER LOAD 'plan_replayer.zip';

このページは役に立ちましたか?