エラーコードとトラブルシューティング

このドキュメントでは、TiDBの使用中に発生する問題について説明し、解決策を提供します。

エラーコード

TiDBはMySQLのエラーコードと互換性があり、ほとんどの場合、MySQLと同じエラーコードを返します。 MySQLのエラーコードのリストについては、 MySQL5.7エラーメッセージリファレンスを参照してください。さらに、TiDBには次の固有のエラーコードがあります。

ノート:

一部のエラーコードは内部エラーを表します。通常、TiDBはエラーをユーザーに返すのではなく処理するため、一部のエラーコードはここにリストされていません。

ここにリストされていないエラーコードが発生した場合は、 PingCAPに連絡するをサポートしてください。

  • エラー番号:8001

    リクエストで使用されたメモリが、TiDBメモリ使用量のしきい値制限を超えています。

    mem-quota-queryを構成して、単一のSQLステートメントのメモリ制限を増やします。

  • エラー番号:8002

    一貫性を保証するために、コミットの競合が発生した場合、 SELECT FOR UPDATEステートメントのトランザクションを再試行することはできません。 TiDBはトランザクションをロールバックし、このエラーを返します。

    アプリケーションは、トランザクション全体を安全に再試行できます。

  • エラー番号:8003

    ADMIN CHECK TABLEコマンドの実行時に行のデータがインデックスと一致しない場合、TiDBはこのエラーを返します。このエラーは、テーブルのデータ破損を確認するときによく見られます。

    あなたはサポートのためにPingCAPに連絡するすることができます。

  • エラー番号:8004

    1つのトランザクションが大きすぎます。

    原因と解決策については、 エラーメッセージtransaction too largeますを参照してください。

  • エラー番号:8005

    TiDBのトランザクションで、書き込みの競合が発生します。

    原因と解決策については、 トラブルシューティングセクションを参照してください。

  • エラー番号:8018

    プラグインをリロードするときに、プラグインが以前にロードされていない場合、このエラーが返されます。

    プラグインの初期ロードを実行できます。

  • エラー番号:8019

    再ロードされるプラグインのバージョンは、以前のバージョンとは異なります。したがって、プラグインをリロードすることはできず、このエラーが返されます。

    プラグインのバージョンが前のものと同じであることを確認することで、プラグインをリロードできます。

  • エラー番号:8020

    テーブルがロックされているときにテーブルに対して書き込み操作を実行すると、このエラーが返されます。

    テーブルのロックを解除して、書き込み操作を再試行してください。

  • エラー番号:8021

    TiKVから読み取るキーが存在しない場合、このエラーが返されます。このエラーは内部で使用され、外部の結果は空の読み取りになります。

  • エラー番号:8022

    トランザクションのコミットは失敗し、ロールバックされました。

    アプリケーションは、トランザクション全体を安全に再試行できます。

  • エラー番号:8023

    トランザクションキャッシュの書き込み時に空の値を設定すると、このエラーが返されます。このエラーは内部で使用および処理され、アプリケーションには返されません。

  • エラー番号:8024

    無効なトランザクション。 TiDBが、実行中のトランザクションのトランザクションID(Start Timestamp)が取得されていないことを検出した場合、つまりこのトランザクションが無効である場合、このエラーが返されます。

    通常、このエラーは発生しません。このエラーが発生した場合は、 PingCAPに連絡するをサポートしてください。

  • エラー番号:8025

    書き込まれている単一のKey-Valueペアが大きすぎます。 TiDBでサポートされている最大の単一のKey-Valueペアは、デフォルトで6MBです。

    ペアがこの制限を超える場合は、制限を緩和するためにtxn-entry-size-limit構成値を適切に調整する必要があります。

  • エラー番号:8026

    使用しているインターフェース機能は実装されていません。このエラーは内部でのみ使用され、アプリケーションには返されません。

  • エラー番号:8027

    テーブルスキーマのバージョンが古くなっています。 TiDBは、スキーマの変更をオンラインで適用します。 TiDBサーバーのテーブルスキーマバージョンがシステム全体のバージョンよりも古い場合、SQLステートメントを実行するとこのエラーが返されます。

    このエラーが発生した場合は、TiDBサーバーとPDリーダー間のネットワークを確認してください。

  • エラー番号:8028

    TiDBは、MySQLではメタデータロックと呼ばれ、他のデータベースではインテンションロックと呼ばれる可能性のあるテーブルロックをサポートしていません。

    トランザクションが実行されると、トランザクションはテーブルスキーマの変更を認識できません。したがって、トランザクションをコミットするときに、TiDBはトランザクションに関連するテーブルスキーマをチェックします。実行中に関連するテーブルスキーマが変更された場合、トランザクションコミットは失敗し、このエラーが返されます。

    アプリケーションは、トランザクション全体を安全に再試行できます。

  • エラー番号:8029

    このエラーは、データベース内の数値変換でエラーが発生した場合に発生します。このエラーは内部でのみ使用され、外部アプリケーションの特定のタイプのエラーに変換されます。

  • エラー番号:8030

    符号なし正の整数が符号付き整数に変換された後、最大値を超えて負の整数として表示されます。このエラーは主にアラートメッセージで発生します。

  • エラー番号:8031

    符号なし整数に変換される場合、負の整数は正の整数に変換されます。このエラーは主にアラートメッセージで発生します。

  • エラー番号:8032

    無効なyear形式が使用されています。 yearは、1、2、または4桁のみを受け入れます。

  • エラー番号:8033

    無効なyearの値が使用されています。 yearの有効な範囲は(1901、2155)です。

  • エラー番号:8037

    week関数で無効なmode形式が使用されています。 mode[0、7]内の1桁である必要があります。

  • エラー番号:8038

    フィールドはデフォルト値を取得できません。このエラーは通常、内部で使用され、外部アプリケーションの特定のタイプのエラーに変換されます。

  • エラー番号:8040

    サポートされていない操作が実行されます。たとえば、ビューまたはシーケンスに対してテーブルロック操作を実行します。

  • エラー番号:8047

    システム変数の値はサポートされていません。このエラーは通常、ユーザーがデータベースでサポートされていない変数値を設定したときにアラーム情報で発生します。

  • エラー番号:8048

    サポートされていないデータベース分離レベルが設定されています。

    サードパーティのツールまたはフレームワークを使用しているためにコードを変更できない場合は、 tidb_skip_isolation_level_checkを使用してこのチェックをバイパスすることを検討してください。

    set @@tidb_skip_isolation_level_check = 1;
  • エラー番号:8050

    サポートされていない特権タイプが設定されています。

    解決策についてはTiDB操作に必要な権限を参照してください。

  • エラー番号:8051

    TiDBがクライアントから送信されたExec引数リストを解析するときに、不明なデータ型が検出されました。

    このエラーが発生した場合は、クライアントを確認してください。クライアントが正常な場合、サポートの場合はPingCAPに連絡する

  • エラー番号:8052

    クライアントからのデータパケットのシリアル番号が正しくありません。

    このエラーが発生した場合は、クライアントを確認してください。クライアントが正常な場合、サポートの場合はPingCAPに連絡する

  • エラー番号:8055

    現在のスナップショットは古すぎます。データはガベージコレクションされた可能性があります。この問題を回避するには、値をtidb_gc_life_timeに増やすことができます。 TiDBは、長時間実行されるトランザクション用にデータを自動的に予約します。通常、このエラーは発生しません。

    ガベージコレクションの概要ガベージコレクションの構成を参照してください。

  • エラー番号:8059

    自動ランダムIDが使い果たされ、割り当てることができません。現在、このようなエラーから回復する方法はありません。自動ランダム機能を使用して割り当ての最大数を取得する場合は、bigintを使用することをお勧めします。また、自動ランダム列に手動で値を割り当てることは避けてください。

    参考のために自動ランダムを参照してください。

  • エラー番号:8060

    自動インクリメントオフセットが無効です。 auto_increment_incrementauto_increment_offsetの値を確認してください。

  • エラー番号:8061

    サポートされていないSQLヒント。

    SQLヒントを確認および変更するには、 オプティマイザーのヒントを参照してください。

  • エラー番号:8062

    SQLヒントで無効なトークンが使用されています。 SQLヒントの予約語と競合します。

    SQLヒントを確認および変更するには、 オプティマイザーのヒントを参照してください。

  • エラー番号:8063

    SQLヒントで設定されている制限付きメモリ使用量がシステムの上限を超えています。 SQLヒントの設定は無視されます。

    SQLヒントを確認および変更するには、 オプティマイザーのヒントを参照してください。

  • エラー番号:8064

    SQLヒントの解析に失敗します。

    SQLヒントを確認および変更するには、 オプティマイザーのヒントを参照してください。

  • エラー番号:8065

    SQLヒントで無効な整数が使用されています。

    SQLヒントを確認および変更するには、 オプティマイザーのヒントを参照してください。

  • エラー番号:8066

    JSON_OBJECTAGG関数の2番目のパラメーターが無効です。

  • エラー番号:8101

    プラグインIDの形式が正しくありません。

    正しい形式は[name]-[version]であり、 nameversionでは-は許可されていません。

  • エラー番号:8102

    プラグイン定義情報を読み取ることができません。

    プラグインに関連する構成を確認してください。

  • エラー番号:8103

    プラグイン名が正しくありません。

    プラグインの構成を確認してください。

  • エラー番号:8104

    プラグインのバージョンが一致しません。

    プラグインの構成を確認してください。

  • エラー番号:8105

    プラグインが繰り返しロードされます。

  • エラー番号:8106

    プラグインは、名前がプラグイン名で始まらないシステム変数を定義します。

    プラグインの開発者に連絡して変更してください。

  • エラー番号:8107

    ロードされたプラグインがバージョンを指定していないか、指定されたバージョンが低すぎます。

    プラグインの構成を確認してください。

  • エラー番号:8108

    サポートされていない実行プランタイプ。このエラーは内部エラーです。

    このエラーが発生した場合は、 PingCAPに連絡するをサポートしてください。

  • エラー番号:8109

    インデックスの分析時に、指定されたインデックスが見つかりません。

  • エラー番号:8110

    デカルト積演算は実行できません。

    構成のcross-jointrueに設定します。

  • エラー番号:8111

    EXECUTEステートメントを実行すると、対応するPrepareステートメントが見つかりません。

  • エラー番号:8112

    EXECUTEステートメントのパラメーターの数がPrepareステートメントと一致していません。

  • エラー番号:8113

    EXECUTEステートメントに関連するテーブルスキーマは、 Prepareステートメントの実行後に変更されました。

  • エラー番号:8115

    複数行のステートメントを準備することはサポートされていません。

  • エラー番号:8116

    DDLステートメントの準備はサポートされていません。

  • エラー番号:8120

    トランザクションのstart tsoを取得できません。

    PDサーバーの状態/モニター/ログおよびTiDBサーバーとPDサーバー間のネットワークを確認してください。

  • エラー番号:8121

    特権チェックは失敗します。

    データベースの特権構成を確認してください。

  • エラー番号:8122

    指定されたワイルドカードを指定すると、対応するテーブル名が見つかりません。

  • エラー番号:8123

    集計関数を使用したSQLクエリは、 only_full_group_byモードに違反する非集計列を返します。

    SQLステートメントを変更するか、 only_full_group_byモードを無効にします。

  • エラー番号:8129

    TiDBは、キー長が65536以上のJSONオブジェクトをまだサポートしていません。

  • エラー番号:8200

    DDL構文はまだサポートされていません。

    参考のためにMySQLDDLの互換性を参照してください。

  • エラー番号:8214

    DDL操作はadmin cancel操作で終了します。

  • エラー番号:8215

    ADMIN REPAIR TABLEは失敗します。

    このエラーが発生した場合は、 PingCAPに連絡するをサポートしてください。

  • エラー番号:8216

    自動ランダム列の使用法が正しくありません。

    変更するには自動ランダムを参照してください。

  • エラー番号:8223

    このエラーは、データがインデックスと一致していないことを検出したときに発生します。

    このエラーが発生した場合は、 PingCAPに連絡するをサポートしてください。

  • エラー番号:8224

    DDLジョブが見つかりません。

    restore操作で指定したジョブIDが存在するか確認してください。

  • エラー番号:8225

    DDL操作は完了しており、キャンセルできません。

  • エラー番号:8226

    DDL操作はほぼ完了しており、キャンセルできません。

  • エラー番号:8227

    シーケンスを作成するときに、サポートされていないオプションが使用されます。

    サポートされているオプションのリストを見つけるには、 シーケンスドキュメントを参照してください。

  • エラー番号:8228

    シーケンスでsetvalを使用すると、サポートされていないタイプが指定されます。

    関数の例を見つけるには、 シーケンスドキュメントを参照してください。

  • エラー番号:8229

    トランザクションが存続時間を超えています。

    現在のトランザクションをコミットまたはロールバックして、新しいトランザクションを開始します。

  • エラー番号:8230

    TiDBは現在、新しく追加された列のデフォルト値としてのシーケンスの使用をサポートしておらず、使用するとこのエラーを報告します。

  • エラー番号:9001

    PD要求がタイムアウトしました。

    PDサーバーの状態/モニター/ログおよびTiDBサーバーとPDサーバー間のネットワークを確認してください。

  • エラー番号:9002

    TiKVリクエストがタイムアウトしました。

    TiKVサーバーの状態/モニター/ログ、およびTiDBサーバーとTiKVサーバー間のネットワークを確認します。

  • エラー番号:9003

    TiKVサーバーはビジーであり、これは通常、ワークロードが高すぎる場合に発生します。

    TiKVサーバーの状態/モニター/ログを確認してください。

  • エラー番号:9004

    このエラーは、データベースに多数のトランザクションの競合が存在する場合に発生します。

    アプリケーションのコードを確認してください。

  • エラー番号:9005

    レプリカの数が不足しているなど、特定のRaftグループが利用できません。このエラーは通常、TiKVサーバーがビジーであるか、TiKVノードがダウンしているときに発生します。

    TiKVサーバーの状態/モニター/ログを確認してください。

  • エラー番号:9006

    GCライフタイムの間隔が短すぎるため、長いトランザクションで読み取る必要のあるデータがクリアされる可能性があります。

    GCライフタイムの間隔を延長します。

  • エラー番号:9500

    1つのトランザクションが大きすぎます。

    解決策についてはエラーメッセージtransaction too largeますを参照してください。

  • エラー番号:9007

    TiKVのトランザクションでは、書き込みの競合が発生します。

    原因と解決策については、 トラブルシューティングセクションを参照してください。

  • エラー番号:9008

    同時に送信されるリクエストが多すぎます。数が制限を超えています。

    tidb_store_limitを増やすか、 0に設定して、リクエストのトラフィックの制限を削除します。

  • エラー番号:9010

    TiKVはこのいかだログを処理できません。

    TiKVサーバーの状態/モニター/ログを確認してください。

  • エラー番号:9012

    TiFlashリクエストがタイムアウトしました。

    TiFlashサーバーの状態/モニター/ログおよびTiDBサーバーとTiFlashサーバー間のネットワークを確認してください。

  • エラー番号:9013

    TiFlashサーバーはビジーであり、これは通常、ワークロードが高すぎる場合に発生します。

    TiFlashサーバーの状態/モニター/ログを確認してください。

トラブルシューティング

トラブルシューティングおよびFAQのドキュメントを参照してください。

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