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

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

最終更新日:Jun 11, 2026

MySQL データベース間で増分データ移行タスクを開始すると、Data Transmission Service (DTS) はソースデータベースのバイナリログ設定を事前チェックします。このトピックでは、各バイナリログのチェック項目と失敗の解決方法について説明します。

バイナリログの有効化

ソースデータベースでバイナリログが有効になっているかを確認します。このチェックが失敗した場合は、次の手順で問題を解決します。

解決策:

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

  2. vim を使用して、my.cnf 設定ファイルの次のパラメーターを編集します。

    説明

    my.cnf のデフォルトパスは /etc/my.cnf です。実際のパスは異なる場合があります。

    log_bin=mysql_bin
    binlog_format=row
    server_id=2 # 1 より大きい整数。この値は一例です。
    binlog_row_image=full # ソースデータベースが MySQL 5.6 以降の場合は必須です。
  3. MySQL サービスを再起動します:

    /etc/init.d/mysqld restart
    説明

    お使いの環境によっては、他の再起動方法が適用される場合があります。

  4. セルフマネージド MySQL ソースデータベースにログインし、この SQL ステートメントを実行して、バイナリログが有効になっていることを確認します。

    show variables like '%log_bin%';

    期待される出力:

    MySQL [pro1]> show variables like '%log_bin%';
    +----------------------------------+-------+
    | Variable_name                    | Value |
    +----------------------------------+-------+
    | log_bin                          | ON    |
    | log_bin_trust_function_creators  | OFF   |
    | sql_log_bin                      | ON    |
    +----------------------------------+-------+
    3 rows in set (0.00 sec)
  5. DTS の事前チェックを再度実行します。

バイナリログ形式

ソースデータベースのバイナリログの形式が ROW に設定されているかを確認します。このチェックが失敗した場合は、次の手順で問題を解決します。

解決策:

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

  2. my.cnf 設定ファイルで、binlog_format パラメーターを ROW に設定します。

    説明

    my.cnf のデフォルトパスは /etc/my.cnf です。実際のパスは異なる場合があります。

    log_bin=mysql_bin
    binlog_format=row # バイナリログの形式を row に設定します。
    server_id=2 # 1 より大きい整数。この値は一例です。
    binlog_row_image=full # ソースデータベースが MySQL 5.6 以降の場合は必須です。
  3. MySQL サービスを再起動します:

    /etc/init.d/mysqld restart
    説明

    お使いの環境によっては、他の再起動方法が適用される場合があります。

  4. セルフマネージド MySQL ソースデータベースにログインし、この SQL ステートメントを実行して、バイナリログの形式が ROW であることを確認します。

    show variables like "%binlog_format%";

    期待される出力:

    MySQL [(none)]> show variables like "%binlog_format%";
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | binlog_format | ROW   |
    +---------------+-------+
    1 row in set (0.01 sec)
  5. DTS の事前チェックを再度実行します。

バイナリログの可用性

ソースデータベースからバイナリログファイルが削除されていないことを確認します。失敗した場合、バイナリログシーケンスが不完全であることを意味します。このチェックが失敗した場合は、次の手順で問題を解決します。

解決策:

  1. [事前チェック] ダイアログボックスで、バイナリログの可用性のチェック項目の横にある情報アイコンをクリックします。

  2. [詳細の表示] ダイアログボックスで、失敗の原因を特定し、欠落しているバイナリログファイル名をメモします。

  3. 欠落しているバイナリログファイルを評価し、対応を選択します。

    • 欠落しているバイナリログファイルが重要ではなく、そのデータを破棄できる場合は、セルフマネージド MySQL ソースデータベースにログインし、この SQL ステートメントを実行して、指定されたファイルより前のすべてのバイナリログファイルをパージします:

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

      [$Binlog_Filename] は保持する最初のバイナリログファイルです。たとえば、mysql_bin.000003 が欠落している場合は、mysql_bin.000004 を使用します。これにより、mysql_bin.000004 より前のすべてのファイルがパージされます。

    • 欠落しているファイルが重要な場合は、データベース管理者に連絡して復元してください。

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

binlog_row_image 設定

このチェックは MySQL 5.6 以降にのみ適用されます。ソースデータベースの binlog_row_image パラメーターが full に設定されていることを確認します。失敗した場合、バイナリログが完全な行イメージを記録していないことを意味します。このチェックが失敗した場合は、次の手順で問題を解決します。

解決策:

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

  2. my.cnf 設定ファイルで、binlog_row_image パラメーターを full に設定します。

    説明

    my.cnf のデフォルトパスは /etc/my.cnf です。実際のパスは異なる場合があります。

    log_bin=mysql_bin
    binlog_format=row
    server_id=2 # 1 より大きい整数。この値は一例です。
    binlog_row_image=full # ソースデータベースが MySQL 5.6 以降の場合は必須です。
  3. MySQL サービスを再起動します:

    /etc/init.d/mysqld restart
    説明

    お使いの環境によっては、他の再起動方法が適用される場合があります。

  4. ソースデータベースにログインし、この SQL ステートメントを実行して、binlog_row_image が FULL に設定されていることを確認します。

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