バイナリログファイルは、ApsaraDB RDS for MySQL インスタンスにおけるすべてのデータ変更を記録します。これにより、プライマリ/セカンダリレプリケーションおよびデータ追跡が可能になります。ログバックアップ機能が有効な場合、バイナリログファイルはバックアップストレージへリアルタイムでアップロードされ、ポイントインタイム復元をサポートするログバックアップファイルとして保存されます。本トピックでは、バイナリログファイルの表示、削除、および保持ポリシーの設定方法について説明します。
バイナリログファイルとログバックアップファイルの比較
|
|
バイナリログファイル |
ログバックアップファイル |
|
目的 |
プライマリ/セカンダリアーキテクチャおよびデータ追跡を実現します。 |
バイナリログファイルをリアルタイムでバックアップストレージへアップロードしたファイルです。バックアップ保持期間内において、任意の時点へのデータ復元に使用できます。詳細については、「ログバックアップ機能の利用」をご参照ください。 |
|
有効化/無効化 |
常に有効です。無効化できません。 |
要件に応じて有効化または無効化できます。 |
|
課金 |
無料です。 |
ログバックアップ機能は無料です。バックアップストレージには無料クォータが提供されています。データバックアップファイルおよびログバックアップファイルの合計サイズが無料クォータを超えた場合、超過分のバックアップストレージに対して課金されます。詳細については、「バックアップファイルのサイズの確認と管理」および「バックアップストレージの料金」をご参照ください。 |
|
ストレージへの影響 |
インスタンスのストレージ容量を消費します。使用量統計 セクション(基本情報 ページ)で使用状況を確認できます。 |
インスタンスのストレージを消費しません。別途用意されたアクセス不可のバックアップストレージに保存されます。使用量統計 セクション(基本情報 ページ)でログサイズを確認できます。 |
生成ルール
新しいバイナリログファイルは、以下のルールに基づいて作成されます:
| エディション | 新規ファイルのトリガー条件 |
|---|---|
| RDS Basic Edition、RDS Cluster Edition、または RDS High-availability Edition | 現在のファイルサイズが 512 MB を超えるか、または 6 時間 |
| RDS Enterprise Edition | 現在のファイルサイズが 512 MB |
特定のコマンド実行時やインスタンス再起動時に、バイナリログファイルが 512 MB より小さくなることがあります。また、大規模なトランザクション実行中は、ファイルサイズが 512 MB を超える場合があります。
バイナリログファイルの表示
バイナリログファイルは ApsaraDB RDS コンソール上では表示されません。一覧を表示するには、以下の SQL 文を実行します:
SHOW BINARY LOGS;
バイナリログファイルのダウンロードおよび解析方法については、「リモートからバイナリログファイルを取得して解析する」をご参照ください。
誤ってデータを削除した場合の調査
データを誤って削除した場合やデータベースが消失した場合に、SQL Explorer および Audit 機能が無効になっている場合は、バイナリログファイルを解析して削除の正確な時刻を特定し、バックアップから復元してください。詳細については、「SQL Explorer および Audit 機能の利用」をご参照ください。
調査:
バイナリログの合計サイズの確認
ApsaraDB RDS コンソールにログインし、インスタンス ページへ移動します。上部のナビゲーションバーから、RDS インスタンスが配置されているリージョンを選択します。その後、対象の RDS インスタンスを見つけ、インスタンス ID をクリックします。
-
左側のナビゲーションウィンドウで、モニターとアラーム をクリックします。標準モニタリング タブで、バイナリログファイルサイズのメトリックを確認します。

デフォルトでは、プライマリ RDS インスタンス上のバイナリログファイルサイズは、セカンダリ RDS インスタンス上のサイズと一致します。ただし、レプリケーション遅延、Binlog dump スレッドの遅延、Data Transmission Service (DTS) によるデータ移行、またはセカンダリ RDS インスタンスによるログレコードの読み取りおよび適用などにより、一時的にサイズが異なる場合があります。
バイナリログファイルの削除
バイナリログ記録は常に有効であり、無効化できません。ストレージ容量を解放するには、バイナリログファイルを手動で削除するか、自動保持ポリシーを設定します。
主なポイント:
-
バイナリログファイルを削除すると、そのファイルが占めていたインスタンスのストレージ容量が解放されます。
-
バイナリログファイルを削除しても、ログバックアップファイルのサイズは減少せず、ログバックアップ機能が有効な限り、ポイントインタイム復元には影響しません。
自動削除の設定(ローカルログ保持ポリシー)
ApsaraDB RDS コンソールにログインし、インスタンス ページへ移動します。上部のナビゲーションバーから、RDS インスタンスが配置されているリージョンを選択します。その後、対象の RDS インスタンスを見つけ、インスタンス ID をクリックします。
-
左側のナビゲーションウィンドウで、バックアップと復元 をクリックします。
-
バックアップ戦略 タブで、ローカルログ保持ポリシー セクションの 編集 をクリックします。以下のパラメーターを設定します:
パラメーター
デフォルト値
説明
保持期間
3 時間
バイナリログファイルを保持する最大時間です。この期間を超えたファイルは、ログバックアップ機能によって既にバックアップ済みである場合に限り、システムによって削除されます。
最大ストレージ使用率
30 %
バイナリログファイルが占めることのできるインスタンスストレージの最大割合です。計算式:(バイナリログファイルサイズ ÷ ストレージ容量)× 100 %。このしきい値を超えた場合、システムは最も古いファイルから順に削除し、使用率がしきい値未満になるまで続けます。
保持する最大ファイル数
60
保持するバイナリログファイルの最大数です。この数を超えた場合、システムは最も古いファイルから順に削除し、ファイル数がこの数未満になるまで続けます。
利用可能なストレージ容量
―
有効にした場合、インスタンスのストレージ使用率が 80 % を超えたとき、または利用可能なストレージ容量が 5 GB を下回ったときに、システムは古いバイナリログファイルを自動的に削除します。削除は、使用率が 80 % 未満かつ利用可能なストレージ容量が 5 GB を超えるまで継続されます。
手動での削除
RDS Basic Edition を実行しているインスタンスでは、手動削除はサポートされていません。
ApsaraDB RDS コンソールにログインし、インスタンス ページへ移動します。上部のナビゲーションバーから、RDS インスタンスが配置されているリージョンを選択します。その後、対象の RDS インスタンスを見つけ、インスタンス ID をクリックします。
-
左側のナビゲーションウィンドウで、バックアップと復元 をクリックします。
-
Binlog のアップロード をクリックします。確認ダイアログで、OK をクリックします。
これにより、最新の 2 つのバイナリログファイルを除くすべてのファイルが削除されます。削除は短時間の遅延後に反映されます。
説明システムは、削除前にバイナリログファイルを Object Storage Service (OSS) バケットへアップロードします。これらのアップロード済みファイルの保持期間は、インスタンスで設定されたログバックアップの保持期間と一致します。
-
(任意)接続後、以下のコマンドを実行して削除を確認できます:
SHOW BINARY LOGS;接続方法については、「DMS を使用して ApsaraDB RDS for MySQL インスタンスにログインする」をご参照ください。
-
(任意)モニターとアラーム ページへ移動し、バイナリログファイルサイズが減少したことを確認します。

トラブルシューティング:バイナリログファイルが削除できない
バイナリログファイルが削除できず、エラーログ タブ(ログ管理 ページ)に以下の警告が表示される場合、データベースクライアントまたは変更追跡タスクが当該ファイルを読み取っているためです。削除を再試行する前に、該当タスクを停止してください。
[Warning] file /home/mysql/data3001/mysql/mysql-bin.069435 was not purged because it was being read by thread number 17126285
よくある質問
バイナリログ記録を有効化するにはどうすればよいですか?
すべての ApsaraDB RDS for MySQL インスタンスでは、バイナリログ記録がデフォルトで有効化されており、無効化できません。
プライマリとセカンダリのインスタンスでバイナリログサイズが異なるのはなぜですか?
通常は両者のサイズは同一です。ただし、プライマリ RDS インスタンスからセカンダリ RDS インスタンスへのデータレプリケーションに遅延がある場合、Binlog dump スレッドによるバイナリログファイルのダンプに遅延がある場合、Data Transmission Service (DTS) によるデータ移行が実行中の場合、またはセカンダリ RDS インスタンスがログレコードを読み取り・適用中の場合などに、一時的にサイズが異なることがあります。
バイナリログファイルが生成直後に削除されるのはなぜですか?
インスタンスのストレージ使用率が 80% を超えるか、利用可能なストレージが 5 GB を下回り、かつ[ローカルログ保持ポリシー] の [利用可能なストレージ容量] パラメーターが有効になっている場合に、この現象が発生します。これを解決するには、インスタンスのストレージ容量を増やすか、ストレージの自動拡張を有効にします。「インスタンスの仕様を変更する」または「ストレージの自動拡張を設定する」をご参照ください。
関連トピック
-
PurgeDBInstanceLog — API 操作を使用してバイナリログファイルを削除します。
-
自動バックアップ機能の利用 — コンソールまたは ModifyBackupPolicy API を使用して、ログバックアップ機能を有効化または無効化します。
-
完全データの復元 — ログバックアップの保持期間内において、任意の時点へのデータ復元を行います。
-
個別のデータベースおよびテーブルの復元 — 特定のデータベースまたはテーブルを復元します。
-
ストレージ容量に関する FAQ — ストレージ容量の問題をトラブルシューティングします。