すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:セルフマネージド MySQL データベースのアカウントを作成し、バイナリロギングを構成する

最終更新日:May 07, 2025

Data Transmission Service (DTS) を使用してセルフマネージド MySQL データベースからデータを移行、同期、または追跡する前に、データベースアカウントを作成し、バイナリロギングを構成する必要があります。

シナリオと必要な権限

シナリオ

必要な権限

ソースデータベースがセルフマネージド MySQL データベースであり、増分データ移行を実行する場合。

  • 移行対象のオブジェクトに対する SELECT 権限。

  • REPLICATION CLIENT、REPLICATION SLAVE、および SHOW VIEW 権限。

  • データベースとテーブルを作成するための権限。これらの権限により、DTS は test という名前のデータベースを作成して、バイナリログファイルの位置を進めることができます。

データ同期タスクのソースデータベースがセルフマネージド MySQL データベースである場合。

  • 同期対象のオブジェクトに対する SELECT 権限。

  • REPLICATION CLIENT、REPLICATION SLAVE、および SHOW VIEW 権限。

  • データベースとテーブルを作成するための権限。これらの権限により、DTS は test という名前のデータベースを作成して、バイナリログファイルの位置を進めることができます。

変更追跡タスクのソースデータベースがセルフマネージド MySQL データベースである場合。

  • 変更追跡対象のオブジェクトに対する SELECT 権限。

  • REPLICATION CLIENT、REPLICATION SLAVE、および SHOW VIEW 権限。

  • データベースとテーブルを作成するための権限。これらの権限により、DTS は test という名前のデータベースを作成して、バイナリログファイルの位置を進めることができます。

影響

このトピックで説明されている操作を実行するには、MySQL サービスを再起動する必要があります。オフピーク時に操作を実行することをお勧めします。

手順

  1. セルフマネージド MySQL データベースにログインします。

  2. セルフマネージド MySQL データベースでデータ移行または同期用のアカウントを作成するには、次の文を実行します。

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    説明
    • username: 作成するアカウント。

    • host: アカウントを使用してデータベースにログインできるホスト。このパラメーターをパーセント記号(%)に設定すると、すべてのホストからデータベースにログインするためにアカウントを使用できます。

    • password: アカウントのパスワード。

    たとえば、次の文を実行して、dtsmigration という名前のアカウントを作成できます。パスワードは Dts123456 です。アカウントはすべてのホストからデータベースにログインできます。

    CREATE USER 'dtsmigration'@'%' IDENTIFIED BY 'Dts123456';
  3. アカウントに権限を付与するには、次の文を実行します。詳細については、「シナリオと必要な権限」をご参照ください。

    • 指定されたデータベースとテーブルに対する権限をアカウントに付与するには、次の文を実行します。

      GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
    • データベースとテーブルを作成するための権限をアカウントに付与するには、次の文を実行します。

      GRANT CREATE ON *.* TO 'username'@'host' WITH GRANT OPTION;
    説明
    • privileges: アカウントに付与される操作権限(SELECT、INSERT、UPDATE など)。すべての権限をアカウントに付与するには、このパラメーターを ALL に設定します。

    • databasename: セルフマネージド MySQL データベースの名前。すべてのデータベースの操作権限をアカウントに付与するには、このパラメーターをアスタリスク(*)に設定します。

    • tablename: 移行するデータを含むテーブルの名前。すべてのテーブルの操作権限をアカウントに付与するには、このパラメーターをアスタリスク(*)に設定します。

    • username: 権限を付与するアカウント。

    • host: アカウントがデータベースにログインできるホスト。このパラメーターをパーセント記号(%)に設定すると、アカウントはすべてのホストからデータベースにログインできます。

    • WITH GRANT OPTION: アカウントに GRANT コマンドを実行する権限を付与します。このパラメーターはオプションです。

    たとえば、次の文を実行して、データベースとテーブルに対するすべての権限を dtsmigration アカウントに付与し、アカウントがすべてのホストからデータベースにログインできるようにすることができます。

    GRANT ALL ON *.* TO 'dtsmigration'@'%';
  4. セルフマネージド MySQL データベースのバイナリロギングを有効にし、パラメーターを設定します。

    • Linux システムの場合は、次の手順を実行します。

      1. vim コマンドを実行し、my.cnf 構成ファイルで次のパラメーターを変更します。

        log_bin=mysql_bin
        binlog_format=row
        server_id=2 // このパラメーターを 1 より大きい整数に設定します。
        binlog_row_image=full // セルフマネージド MySQL データベースのバージョンが 5.6 以降の場合は、このパラメーターを設定する必要があります。
      2. 次のコマンドを実行して、MySQL プロセスを再起動します。

        /etc/init.d/mysqld restart
        説明

        他のコマンドを実行するか、他の方法を使用して MySQL を再起動できます。

    • Windows システムの場合は、次の手順を実行します。

      1. 次のコマンドを実行して、my.cnf 構成ファイルのパラメーターを変更します。

        log_bin=mysql_bin
        binlog_format=row
        server_id=2 // このパラメーターを 1 より大きい整数に設定します。
        binlog_row_image=full // セルフマネージド MySQL データベースのバージョンが 5.6 以降の場合は、このパラメーターを設定する必要があります。
      2. MySQL サービスを再起動します。

        説明

        Windows サービスマネージャーを使用するか、次のコマンドを実行して、MySQL サービスを再起動できます。

        net stop mysql
        net start mysql