バイナリログファイルは、ご利用の ApsaraDB RDS for MySQL インスタンスにおけるすべてのデータ変更を記録し、プライマリ/セカンダリレプリケーションおよびデータ追跡を可能にします。ログバックアップが有効な場合、バイナリログファイルはバックアップストレージへリアルタイムでアップロードされ、ポイントインタイムリカバリをサポートするログバックアップファイルとなります。
バイナリログファイルとログバックアップファイルの比較
| バイナリログファイル | ログバックアップファイル | |
|---|---|---|
| 目的 | プライマリ/セカンダリレプリケーションおよびデータ追跡を実現します。 | バイナリログファイルをリアルタイムでバックアップストレージへアップロードしたものであり、バックアップ保持期間内において特定の時点までデータを復元するために使用されます。 |
| 有効化/無効化 | 常に有効です。無効化できません。 | ご要件に応じて、有効化または無効化できます。 |
| 課金 | 無料です。 | 無料クォータ内は無料です。クォータを超えたバックアップストレージ分は課金対象となります。 |
| ストレージへの影響 | インスタンスストレージ容量を消費します。 | 別途のバックアップストレージに保存されるため、インスタンスストレージを消費しません。 |
生成ルール
以下のいずれかの条件が満たされた場合、新しいバイナリログファイルが作成されます。
| エディション | 新規ファイル作成のトリガー |
|---|---|
| RDS Basic Edition、RDS Cluster Edition、または RDS High-availability Edition | 現在のファイルサイズが 512 MB を超えた場合、または書き込み開始から 6 時間 |
| RDS Enterprise Edition | 現在のファイルサイズが 512 MB |
特定のコマンドを実行した場合やインスタンスを再起動した場合、バイナリログファイルは 512 MB よりも小さくなることがあります。また、大規模トランザクションが実行中の場合は、トランザクション全体が 1 つのファイルにまとめて書き込まれる(分割されない)ため、ファイルサイズが 512 MB を超えることがあります。
クリアリングルール
バイナリログ機能は常に有効であり、無効化できません。インスタンスストレージを解放するには、バイナリログファイルを手動で削除するか、自動保持ポリシーを設定してください。
主なポイント:
バイナリログファイルを削除すると、そのファイルが占めていたインスタンスストレージが解放されます。
ログバックアップが有効な場合、バイナリログファイルを削除しても、ログバックアップファイルおよびポイントインタイムリカバリには影響しません。
自動削除
バックアップ戦略 タブの ローカルログ保持ポリシー で自動削除を設定します。
| パラメーター | デフォルト値 | 説明 |
|---|---|---|
| 保持期間 | 3 時間 | バイナリログファイルを保持する最大時間です。このしきい値を超えたファイルは、ログバックアップによって既にアップロード済みである場合に限り削除されます。 |
| 最大ストレージ使用量 | 30 % | バイナリログファイルが占めることのできるインスタンスストレージの最大割合です。計算式は「(バイナリログファイルサイズ ÷ ストレージ容量) × 100 %」です。このしきい値を超えた場合、最も古いファイルから順に削除され、使用率が 30 % を下回るまで続けられます。 |
| 保持する最大ファイル数 | 60 | 保持するバイナリログファイルの最大数です。この上限を超えた場合、最も古いファイルから順に削除され、ファイル数が 60 を下回るまで続けられます。 |
| 利用可能なストレージ容量 | -- | 有効化すると、インスタンスストレージ使用率が 80 % を超えた場合、または利用可能なストレージ容量が 5 GB を下回った場合に、古いバイナリログファイルが削除されます。削除は、使用率が 80 % を下回り、かつ利用可能なストレージ容量が 5 GB を上回るまで継続されます。 |
手動削除
RDS Basic Edition のインスタンスでは、手動削除はサポートされていません。
バックアップと復元 ページで、バイナリログのアップロード をクリックします。これにより、すべてのバイナリログファイルが Object Storage Service (OSS) バケットへアップロードされ、最新の 2 つのファイルを除くすべてのファイルが削除されます。
トラブルシューティング:バイナリログファイルが削除できない場合
バイナリログファイルが削除できず、エラーログ タブに以下の警告が表示された場合:
[Warning] file /home/mysql/data3001/mysql/mysql-bin.069435 was not purged because it was being read by thread number 17126285データベースクライアントまたは変更追跡タスクが当該ファイルを読み取っている可能性があります。該当タスクを停止してから、再度削除を試行してください。
よくある質問
バイナリログファイルが生成直後に削除されるのはなぜですか?
これは、インスタンスストレージ使用量が80%を超えたり、利用可能なストレージ容量が5 GBを下回ったりした場合、および[利用可能なストレージ容量]パラメーター(ローカルログ保持ポリシーの下で)が有効になっている場合に発生します。この問題を解決するには、インスタンスストレージ容量を増加させるか、ストレージの自動拡張を有効化してください。