管理者キャンセル DDL

ADMIN CANCEL DDLステートメントを使用すると、実行中の DDL ジョブをキャンセルできます。 job_id ADMIN SHOW DDL JOBSを実行することで見つけることができます。

ADMIN CANCEL DDLステートメントを使用すると、コミットされているがまだ実行が完了していない DDL ジョブをキャンセルすることもできます。キャンセル後、DDL ジョブを実行する SQL ステートメントはERROR 8214 (HY000): Cancelled DDL jobエラーを返します。すでに完了している DDL ジョブをキャンセルすると、 RESULT列にDDL Job:90 not foundエラーが表示されます。これは、ジョブが DDL 待機キューから削除されたことを示します。

あらすじ

AdminStmt
ADMINSHOWDDLJOBSInt64NumWhereClauseOptionalJOBQUERIESNumListTableNameNEXT_ROW_IDSLOWAdminShowSlowCHECKTABLETableNameListINDEXTableNameIdentifierHandleRange,RECOVERINDEXTableNameIdentifierCLEANUPINDEXTableNameIdentifierTABLELOCKTableNameListCHECKSUMTABLETableNameListCANCELDDLJOBSNumListRELOADEXPR_PUSHDOWN_BLACKLISTOPT_RULE_BLACKLISTBINDINGSPLUGINSENABLEDISABLEPluginNameListREPAIRTABLETableNameCreateTableStmtFLUSHCAPTUREEVOLVEBINDINGS
NumList
Int64Num,

現在実行中の DDL ジョブをキャンセルし、対応するジョブが正常にキャンセルされたかどうかを返すには、 ADMIN CANCEL DDL JOBSを使用します。

ADMIN CANCEL DDL JOBS job_id [, job_id] ...;

操作でジョブをキャンセルできなかった場合は、具体的な理由が表示されます。

ノート:

  • この操作のみが DDL ジョブをキャンセルできます。他のすべての操作と環境の変更 (マシンの再起動やクラスターの再起動など) では、これらのジョブをキャンセルできません。
  • この操作では、複数の DDL ジョブを同時にキャンセルできます。 ADMIN SHOW DDL JOBSステートメントを使用して、DDL ジョブの ID を取得できます。
  • キャンセルするジョブが終了している場合、キャンセル操作は失敗します。

MySQL の互換性

このステートメントは、MySQL 構文に対する TiDB 拡張です。

こちらもご覧ください

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