Data Transmission Service (DTS) を使用して自己管理型MySQLデータベースからデータを移行、同期、または追跡する前に、データベースアカウントを作成し、バイナリログを設定する必要があります。
シナリオと必要な権限
シナリオ | 必要な権限 |
データ移行タスクのソースデータベースは自己管理型MySQLデータベースであり、 増分データ移行. | 移行するオブジェクトに対するSELECT権限、 REPLICATION CLIENT、REPLICATION SLAVE、およびSHOW VIEW権限、 データベースとテーブルを作成する権限。 この権限により、DTSはdtsという名前のデータベースを作成して、移行中にハートビートデータを記録できます。 |
データ同期タスクのソースデータベースは、自己管理型MySQLデータベースです。 | 同期するオブジェクトに対するSELECT権限、 REPLICATION CLIENT、REPLICATION SLAVE、およびSHOW VIEW権限、 データベースとテーブルを作成する権限。 この権限により、DTSはdtsという名前のデータベースを作成して、同期中にハートビートデータを記録できます。 |
変更追跡タスクのソースデータベースは、自己管理型MySQLデータベースです。 | 変更追跡用のオブジェクトに対するSELECT権限、 REPLICATION CLIENT、REPLICATION SLAVE、およびSHOW VIEW権限、 データベースとテーブルを作成する権限。 この権限により、DTSはdtsという名前のデータベースを作成して、変更追跡中にハートビートデータを記録できます。 |
影響
このトピックで説明する操作を実行するには、MySQLサービスを再起動する必要があります。 オフピーク時に操作を実行することを推奨します。
手順
自己管理型MySQLデータベースにログインします。
次のステートメントを実行して、自己管理MySQLデータベースでのデータ移行または同期用のアカウントを作成します。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
説明username: 作成するアカウント。
host: アカウントを使用してデータベースにログインできるホスト。 このパラメーターをパーセント記号 (%) に設定すると、アカウントを使用してすべてのホストからデータベースにログインできます。
password: アカウントのパスワード。
たとえば、次のステートメントを実行して、dtsmigrationという名前のアカウントを作成できます。 パスワードはDts1234556です。 アカウントは、すべてのホストからデータベースにログインできます。
CREATE USER 'dtsmigration'@'%' IDENTIFIED BY 'Dts123456';
次のステートメントを実行して、アカウントに権限を付与します。 詳細については、「シナリオと必要な権限」をご参照ください。
次のステートメントを実行して、指定されたデータベースとテーブルに対する権限をアカウントに付与します。
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'@'%';
自己管理型MySQLデータベースのバイナリログを有効にし、パラメーターを設定します。
Linuxシステムの場合は、次の手順を実行します。
vim
コマンドを実行し、my.cn f設定ファイルの次のパラメーターを変更します:log_bin=mysql_bin binlog_format=row server_id=2 // Set this parameter to an integer greater than 1. binlog_row_image=full // You must set this parameter if the version of the self-managed MySQL database is later than 5.6.
次のコマンドを実行してMySQLプロセスを再起動します。
/etc/init.d/mysqld restart
説明他のコマンドを実行するか、他の方法を使用してMySQLを再起動できます。
Windowsシステムの場合は、次の手順を実行します。
次のコマンドを実行して、my.cn f設定ファイルのパラメーターを変更します。
log_bin=mysql_bin binlog_format=row server_id=2 // Set this parameter to an integer greater than 1. binlog_row_image=full // You must set this parameter if the version of the self-managed MySQL database is later than 5.6.
MySQLサービスを再起動します。
説明MySQLサービスは、Windowsサービスマネージャーを使用するか、次のコマンド
net stop mysql net start mysql