重要

古いバージョンの TiDB データベース (TiDB {{ curdocVersion }}) のドキュメントを表示しています。

TiDBデータベースの最新の安定バージョンを使用することをお勧めします。
重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

アップストリームMySQLインスタンス構成を事前に確認します

このドキュメントでは、DMが提供する事前チェック機能を紹介します。この機能は、データ移行タスクの開始時にアップストリームのMySQLインスタンス構成で発生する可能性のあるエラーを検出するために使用されます。

指示

check-taskを使用すると、アップストリームのMySQLインスタンス構成がDM要件を満たしているかどうかを事前に確認できます。

確認項目

アップストリームおよびダウンストリームのデータベースユーザーは、対応する読み取りおよび書き込み権限を持っている必要があります。 DMは、データ移行タスクの開始時に、次の特権と構成を自動的にチェックします。

  • データベースバージョン

    • MySQLバージョン>5.5

    • MariaDBバージョン>=10.1.2

    警告

    MySQL 8.0のサポートは、TiDB DataMigrationv2.0以降のバージョンの実験的機能です。実稼働環境で使用することはお勧めしません

  • データベース構成

    • server_idが構成されているかどうか
  • MySQLのbinlog構成

    • binlogが有効かどうか(DMではbinlogを有効にする必要があります)
    • binlog_format=ROWかどうか(DMはROW形式のbinlogの移行のみをサポートします)
    • binlog_row_image=FULLかどうか(DMはbinlog_row_image=FULLのみをサポートします)
  • アップストリームMySQLインスタンスユーザーの権限

    DM構成のMySQLユーザーは、少なくとも次の権限を持っている必要があります。

    • レプリケーションスレーブ
    • レプリケーションクライアント
    • リロード
    • 選択する
  • アップストリームMySQLテーブルスキーマの互換性

    TiDBは、次の点でMySQLと互換性が異なります。

    DMは、すべてのアップストリームテーブルに主キーまたは一意キーの制限が存在するかどうかもチェックします。このチェックはv1.0.7で導入されました。

  • 複数のアップストリームMySQLインスタンスのシャーディングされたテーブルの一貫性

    • すべてのシャーディングされたテーブルのスキーマの一貫性

      • 列サイズ
      • 列名
      • 列の位置
      • 列タイプ
      • 主キー
      • 一意のインデックス
    • シャーディングされたテーブルの自動インクリメント主キーの競合

      • チェックは、次の2つの条件で失敗します。

        • 自動インクリメントの主キーはシャーディングされたテーブルに存在し、その列タイプはbigintではありません
        • 自動インクリメントの主キーはシャーディングされたテーブルに存在し、その列タイプbigintですが、列マッピングは構成されていません
      • チェックは、上記の2つを除く他の条件で成功します。

チェック項目を無効にする

DMは、タスクタイプに従って項目をチェックします。タスク構成ファイルでignore-checking-itemsを使用すると、項目のチェックを無効にできます。 ignore-checking-itemsの要素オプションのリストは次のとおりです。

エレメント説明
全てすべてのチェックを無効にします
dump_privilegeアップストリームMySQLインスタンスユーザーのダンプ関連特権のチェックを無効にします
Replication_privilegeアップストリームMySQLインスタンスユーザーのレプリケーション関連の権限のチェックを無効にします
バージョンアップストリームデータベースのバージョンのチェックを無効にします
server_idアップストリームデータベースserver_idのチェックを無効にします
binlog_enableアップストリームデータベースでbinlogが有効になっているかどうかのチェックを無効にします
binlog_formatアップストリームデータベースのbinlog形式がROWであるかどうかのチェックを無効にします
binlog_row_imageアップストリームデータベースのbinlog_row_imageがFULLであるかどうかのチェックを無効にします
table_schemaアップストリームのMySQLテーブルスキーマの互換性のチェックを無効にします
schema_of_shard_tablesマルチインスタンスシャーディングシナリオでアップストリームMySQLシャーディングテーブルのスキーマが一貫しているかどうかのチェックを無効にします
auto_increment_IDマルチインスタンスシャーディングシナリオで、アップストリームMySQL共有テーブルの自動インクリメント主キーの競合のチェックを無効にします