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

Data Transmission Service:ソースデータベースのバイナリログの事前チェック

最終更新日:Nov 14, 2024

MySQLデータベース間の増分データ移行を開始する前に、data Transmission Service (DTS) は事前チェック中にソースデータベースのバイナリログ設定をチェックします。 このトピックでは、DTSのチェック内容と、チェック項目が事前チェックに失敗した場合の問題の修正方法について説明します。

ソースデータベースに対してバイナリログが有効になっているかどうか

この項目は、ソースデータベースに対してバイナリログが有効になっているかどうかを確認します。 この項目が事前チェックに失敗した場合は、次の手順を実行して問題を修正します。

解決策:

  1. ソースの自己管理型MySQLデータベースがデプロイされているサーバーにログオンします。

  2. vimコマンドを実行して、my.cn f設定ファイルのパラメーターを変更します。

    説明

    my.cn f設定ファイルのデフォルトパスは /etc/my.cn fです。 パスは実際の状況に左右されます。

    log_bin=mysql_bin
    binlog_format=row
    server_id=2 # Set the server ID to an integer greater than 1. This is an example only for reference. 
    binlog_row_image=full # This parameter is required if the version of the self-managed MySQL database is 5.6 or later. 
  3. 次のコマンドを実行してMySQLを再起動します。

    /etc/init.d/mysqld restart
    説明

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

  4. ソースの自己管理型MySQLデータベースにログインし、次のSQL文を実行して、バイナリログ機能が有効になっていることを確認します。

    show variables like '%log_bin%';

    次の図に、返された結果の例を示します。show

  5. DTS事前チェックを再度実行します。

バイナリログ形式

この項目は、ソースデータベースのバイナリログ形式がROWであるかどうかを確認します。 この項目が事前チェックに失敗した場合は、次の手順を実行して問題を修正します。

解決策:

  1. ソースの自己管理型MySQLデータベースがデプロイされているサーバーにログオンします。

  2. my.cn f設定ファイルのパラメーターを変更します。 binlog_formatパラメーターをROWに設定します。

    説明

    my.cn f設定ファイルのデフォルトパスは /etc/my.cn fです。 パスは実際の状況に左右されます。

    log_bin=mysql_bin
    binlog_format=row # Set the binary logging format to ROW. 
    server_id=2 # Set the server ID to an integer greater than 1. This is an example only for reference. 
    binlog_row_image=full # This parameter is required if the version of the self-managed MySQL database is 5.6 or later. 
  3. 次のコマンドを実行してMySQLを再起動します。

    /etc/init.d/mysqld restart
    説明

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

  4. ソースの自己管理型MySQLデータベースにログインし、次のSQL文を実行して、バイナリログ形式がROWに設定されていることを確認します。

    show variables like "%binlog_format%";

    次の図に、返された結果の例を示します。row

  5. DTS事前チェックを再度実行します。

ソースデータベースのバイナリログファイル

この項目は、ソースデータベースのバイナリログファイルが完成しているかどうかを確認します。 この項目が事前チェックに失敗した場合、ソースデータベースのバイナリログファイルは不完全です。 この場合、次の手順を実行して問題を修正します。

解決策:

  1. [事前チェック] ダイアログボックスで、[ソースデータベースのBinlogファイル] チェック項目の右側にある [情報] アイコンをクリックします。 Binlog Files in Source Database check failure

  2. [詳細] ダイアログボックスで、[失敗の原因] パラメーターの値に基づいて、不足しているバイナリログファイルを確認します。 Solution to the Binlog Files in Source Database check failure

  3. 不足している各バイナリログファイルの重要性を判断し、適切な処理方法を選択します。

    • バイナリログファイルが重要でない場合は、無視できます。 ソースの自己管理型MySQLデータベースにログインし、次のSQL文を実行して、エラーバイナリログファイルと以前のすべてのバイナリログファイルをクリアします。

      PURGE BINARY LOGS TO '[$Binlog_Filename]';
      説明

      [$Binlog_Filename] は、エラーバイナリログファイルに続く最初のバイナリログファイルの名前を指定します。 たとえば、不足しているバイナリログファイルがmysql_bin.000003の場合は、[$Binlog_Filename] をmysql_bin.000004に置き換えます。

    • バイナリログファイルが重要で無視できない場合は、自己管理型MySQLデータベースの管理者に連絡してバイナリログファイルを復元してください。

  4. DTS事前チェックを再度実行します。

ソースデータベースのbinlog_row_imageパラメーターがFULLに設定されているかどうか

このチェック項目は、MySQL 5.6以降のデータベースにのみ適用されます。 ソースデータベースのbinlog_row_imageパラメーターがFULLに設定されているかどうかを確認します。 この項目が事前チェックに失敗した場合、ソースデータベースのバイナリログファイルには完全なイメージが記録されません。 この場合、次の手順を実行して問題を修正します。

解決策:

  1. ソースの自己管理型MySQLデータベースがデプロイされているサーバーにログオンします。

  2. my.cn f設定ファイルのパラメーターを変更します。 binlog_formatパラメーターをFULLに設定します。

    説明

    my.cn f設定ファイルのデフォルトパスは /etc/my.cn fです。 パスは実際の状況に左右されます。

    log_bin=mysql_bin
    binlog_format=row
    server_id=2 # Set the server ID to an integer greater than 1. This is an example only for reference. 
    binlog_row_image=full # This parameter is required if the version of the self-managed MySQL database is 5.6 or later. 
  3. 次のコマンドを実行してMySQLを再起動します。

    /etc/init.d/mysqld restart
    説明

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

  4. ソースの自己管理型MySQLデータベースに再度ログインし、次のSQL文を実行して、binlog_row_imageパラメーターがFULLに設定されていることを確認します。

    show variables like "binlog_row_image";
  5. DTS事前チェックを再度実行します。