Docs Menu
Docs Home
/
Relational Migrator
/ /

MySQL の移行前提条件の構成

項目一覧

  • 手順
  • 詳細

MySQL ソース データベースから同期ジョブを実行するには、データベースの構成変更が必要になる場合があります。 Relational Migrator でデータベースの構成変更が必要と判断された場合は、必要な変更を伴う SQL スクリプトが自動的に生成されます。 データベース管理者(DBA)にこのスクリプト内のコマンドを確認し、データベース サーバー上で実行することをお勧めします。 MySQL Server の構成は 同期ジョブ のタイプによって異なります。

  • スナップショット同期ジョブはすべてのデータを移行し、その後停止します。

  • 継続的な同期ジョブはスナップショットを実行し、その後 CDC ステージに入り、データ変更を継続的に複製します。

MySQL でサポートされているバージョンの詳細については、「 サポートされているデータベースとバージョン 」を参照してください。

1

次のコードでは、MySQL インスタンスに接続するための Relational Migrator 用の新しい MySQL サービス アカウントが作成されます。 あるいは、既存の MySQL サービス アカウントを使用して、適切な権限を持つ Relational Migrator に接続することもできます。

  1. サービス アカウントを作成します。

    CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
  2. サービス アカウントに必要な権限を付与します。

    GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT
    ON *.*
    TO 'user'@'%';
  3. ユーザー特権の変更を適用します。

    FLUSH PRIVILEGES;

Relational Migrator で継続的なジョブを実行するには、 バイナリ ログ が必要です MySQL インスタンスで有効にする必要があります。バイナリ ログ(Binlog)には、すべての操作がデータベースにコミットされる順序で記録されます。

1

次のコードでは、MySQL インスタンスに接続するための Relational Migrator 用の新しい MySQL サービス アカウントが作成されます。 あるいは、既存の MySQL サービス アカウントを使用して、適切な権限を持つ Relational Migrator に接続することもできます。

  1. サービス アカウントを作成します。

    CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
  2. サービス アカウントに必要な権限を付与します。

    GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT
    ON *.*
    TO 'user'@'%';
  3. ユーザー特権の変更を適用します。

    FLUSH PRIVILEGES;
2

Relational Migrator はこの設定を自動的にチェックします。 Binlogオプションが有効になっているかどうかを手動で確認するには、MySQL のバージョンに対して以下のクエリを使用します。

注意

Binlog は、MySQL 8.xバージョンではデフォルトで自動的に有効になっています。

SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::"
FROM performance_schema.global_variables WHERE variable_name='log_bin';
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::"
FROM information_schema.global_variables WHERE variable_name='log_bin';
3
  1. 次の SQL クエリを実行して、MySQL インスタンスのserver_id値を取得します。

    SELECT variable_value
    FROM
    performance_schema.global_variables
    WHERE variable_name='server_id';
    SELECT variable_value
    FROM
    information_schema.global_variables
    WHERE variable_name='server_id';
  2. MySQL インスタンスの構成ファイルを見つけるには、ターミナルで次のmysqldコマンドを実行します。

    mysql --help | findstr cnf
    mysql --help | grep cnf
  3. MySQL 構成ファイルの[mysqld]セクションの下に、次の行を追加します。 XXXXXの値を前のクエリのserver_idに置き換えます。

    server-id = XXXXX
    log_bin = mysql-bin
    binlog_format = ROW
    binlog_row_image = FULL
    binlog_expire_logs_seconds = 864000
    server-id = XXXXX
    log_bin = mysql-bin
    binlog_format = ROW
    binlog_row_image = FULL
    expire_log_days = 10

    注意

    MySQLAmazon Web ServicesRDS と 自動バックアップ で を実行している場合Binlog が有効になっていない場合は、構成ファイルで値が設定されている場合でも、 は無効になります。

Relational Migrator は、行レベルの変更をキャプチャするためにオープンソースの Debezium コネクターに依存しています。 詳細については、「 Debezium MySQL 」を参照してください。

戻る

前提条件を構成する

項目一覧