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

デフォルトでは、プライマリ RDS インスタンスのバイナリログファイルサイズは、セカンダリ RDS インスタンスのサイズと一致します。ただし、レプリケーションの遅延、Binlog dump スレッドの遅延、Data Transmission Service (DTS) によるデータ移行、またはセカンダリインスタンスによるログレコードの読み取りと適用により、一時的にサイズが異なる場合があります。
バイナリログファイルの削除
バイナリロギングは常に有効であり、無効化できません。ストレージを解放するには、バイナリログファイルを手動で削除するか、自動保持ポリシーによって削除することができます。
重要なポイント:
-
バイナリログファイルを削除すると、それらが占有していたインスタンスストレージが解放されます。
-
ログバックアップ機能が有効であれば、バイナリログファイルを削除してもログバックアップファイルのサイズは減らず、ポイントインタイムリカバリにも影響しません。
自動削除の設定 (ローカルログ保持ポリシー)
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側のナビゲーションウィンドウで、バックアップと復元 をクリックします。
-
[バックアップ戦略] タブで、[ローカルログ保持ポリシー] セクションの [編集] をクリックします。次のパラメータを設定します。
パラメータ
デフォルト
説明
[保持期間]
3 時間
バイナリログファイルを保持する最大時間です。ログバックアップ機能によってバックアップ済みであることを条件に、この期間を超えたファイルをシステムが削除します。
[最大ストレージ使用率]
30%
バイナリログファイルが占有できるインスタンスストレージの最大割合です。式:(バイナリログファイルサイズ / ストレージ容量) × 100%。このしきい値を超えると、使用率がこのしきい値を下回るまで、システムが最も古いファイルから順に削除します。
[保持する最大ファイル数]
60
保持するバイナリログファイルの最大数です。この数を超えると、ファイル数がこの数を下回るまで、システムが最も古いファイルから順に削除します。
[利用可能なストレージ領域]
--
有効にすると、インスタンスストレージの使用率が 80% を超えるか、利用可能なストレージ領域が 5 GB 未満になる場合に、システムが古いバイナリログファイルを自動的に削除します。削除は、使用率が 80% 未満になり、利用可能なストレージ領域が 5 GB を超えるまで継続されます。
手動削除
Basic Edition のインスタンスでは、手動削除はサポートされていません。
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側のナビゲーションウィンドウで、バックアップと復元 をクリックします。
-
[Upload Binlogs] をクリックします。確認ダイアログで、[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 未満になり、[ローカルログ保持ポリシー] の [利用可能なストレージ領域] パラメータが有効になっている場合に発生します。この問題を解決するには、インスタンスのストレージ容量を増やすか、ストレージの自動拡張を有効にしてください。「インスタンス仕様の変更」または「ストレージの自動拡張の設定」をご参照ください。
ApsaraDB RDS for MySQL インスタンスのデフォルトのバイナリロギング形式は何ですか?
デフォルトのバイナリロギング形式は ROW であり、変更できません。ROW 形式は変更された各行の詳細を記録するため、バックアップと復元、およびプライマリ/セカンダリレプリケーションをサポートします。
ApsaraDB RDS for MySQL インスタンスの server_id を変更できますか?
いいえ。server_id の値はシステムによって自動的に割り当てられ、グローバルに一意です。変更できません。ApsaraDB RDS は、プライマリ/セカンダリレプリケーションにおける競合を防ぐために、各インスタンスにグローバルに一意の値を割り当てます。
関連トピック
-
PurgeDBInstanceLog:API を使用してバイナリログファイルを削除できます。
-
自動バックアップ機能の使用:コンソールまたは ModifyBackupPolicy API を使用してログバックアップ機能を有効または無効にできます。
-
フルデータの復元:ログバックアップの保持期間内の任意の時点にデータを復元できます。
-
個別のデータベースとテーブルの復元:特定のデータベースまたはテーブルを復元できます。
-
ストレージ容量に関する FAQ:ストレージ容量の問題のトラブルシューティングに役立ちます。