MySQL のバイナリログは、すべてのデータ変更を記録するファイルです。バイナリログを使用して、プライマリ/セカンダリ アーキテクチャをセットアップしたり、変更追跡タスクを作成したりできます。このトピックでは、ApsaraDB RDS for MySQL インスタンスのバイナリログを表示または削除する方法について説明します。
バイナリログとログバックアップの違い
|
項目 |
バイナリログ |
ログバックアップ |
|
概要 |
プライマリ/セカンダリ アーキテクチャのセットアップや変更追跡タスクの作成に使用されます。 |
ログバックアップ機能を有効にすると、バイナリログがリアルタイムでバックアップストレージにアップロードされ、ログバックアップが作成されます。ログバックアップを使用すると、保持期間内の任意の時点へポイントインタイムリカバリを実行できます。詳細については、「ApsaraDB RDS for MySQL のログバックアップ」をご参照ください。 |
|
有効化/無効化 |
デフォルトで有効になっており、無効にすることはできません。 |
有効または無効にできます。 |
|
課金 |
無料です。 |
ログバックアップ機能は無料で、バックアップストレージの無料クォータが含まれています。データバックアップと ログバックアップの合計サイズ が無料クォータを超えた場合にのみ、バックアップストレージが課金対象となります。詳細については、「バックアップ料金」をご参照ください。 |
|
ストレージ領域 |
インスタンスのストレージ領域を消費します。 インスタンスの 使用量統計 ページの 基本情報 セクションでストレージ使用量を確認できます。 |
インスタンスのストレージ領域を消費しません。 説明
ログバックアップはバックアップストレージに保存されますが、直接アクセスすることはできません。インスタンスの 使用量統計 ページの 基本情報 セクションでログバックアップのサイズを確認できます。 |
バイナリログの生成方法
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 より大きくなることもあります。
バイナリログの表示
ユースケース
SQL エクスプローラーと監査機能が無効になっている場合、データが誤って削除されたりデータベースが失われたりした後、操作レコードを直接表示することはできません。このような場合、バイナリログを分析して削除時刻を特定し、バックアップを使用してデータを復元できます。
操作手順
-
ステップ 1:バイナリログの取得。
-
ステップ 2:mysqlbinlog ツールを使用したバイナリログの表示。
バイナリログサイズの表示
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側メニューで モニターとアラーム をクリックし、ログ領域の使用状況を表示します。
説明通常、バイナリログのサイズはプライマリインスタンスとセカンダリインスタンスで同じです。ただし、レプリケーションラグ、バイナリログのダンプ遅延、進行中の DTS 移行タスク、またはセカンダリインスタンスでのログ適用が原因で、不一致が発生する可能性があります。

バイナリログの削除
-
バイナリログはデフォルトで有効になっており、無効にすることはできません。 保持ポリシーを設定してバイナリログを自動的に削除するか、手動で削除できます。
-
バイナリログを削除すると、そのローカルストレージ領域が解放されます。
-
バイナリログを削除しても、ログバックアップのサイズや、ログバックアップに依存するポイントインタイムリカバリ機能には影響しません。
自動削除
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側メニューで バックアップと復元 をクリックします。
-
バックアップポリシー タブをクリックし、ログバックアップの設定 を編集します。次のルールによって、バイナリログがいつ自動的に削除されるかが決まります。
トリガー
条件
デフォルト
アクション
[Retention]
バイナリログの経過時間が指定された保持期間を超えています。
3 時間
ログバックアップ機能が有効な場合、バイナリログはバックアップされ、保持期間を超えると自動的にパージされます。
[バケットの最大占有率]
ストレージ領域の使用率が指定された最大パーセンテージを超えています。
説明ストレージ領域使用率 = バイナリログの合計サイズ / インスタンスの利用可能な総ストレージ領域。
30%
使用率が指定された制限を下回るまで、最も古いバイナリログが自動的にパージされます。
[保存するファイルの件数]
バイナリログの数が指定された最大値を超えています。
60
ファイル数が指定された制限を下回るまで、最も古いバイナリログが自動的にパージされます。
[Available Storage]
インスタンスの総ストレージ使用率が 80% を超えるか、残りのストレージ領域が 5 GB 未満です。
-
総ストレージ使用率が 80% を下回り、利用可能な領域が 5 GB を超えるまで、最も古いバイナリログがパージされます。
手動削除
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側メニューで バックアップと復元 をクリックします。
-
バイナリログをアップロードする をクリックし、次に OK をクリックします。
説明-
この操作により、最新の 2 つを除くすべてのバイナリログが削除されます。このプロセスが完了するまでには、時間がかかる場合があります。
-
この操作は、RDS Basic Edition インスタンスではサポートされていません。
-
バイナリログが削除されず、ログ管理 ページの エラーログ に次のエントリが表示される場合、クライアント接続またはアクティブな変更追跡タスクが原因である可能性があります。これを解決するには、関連する接続またはタスクを停止します。
[Warning] file /home/mysql/data3001/mysql/mysql-bin.069435 was not purged because it was being readby thread number 17126285 -
バイナリログをアップロードする 機能は、バイナリログを OSS にアップロードします。OSS でのこれらのファイルの保持期間は、ログバックアップの保持期間と同じです。
-
-
(任意) インスタンスに接続し、
show binary logs;コマンドを実行してバイナリログのリストを表示します。接続方法の手順については、「DMS を使用した ApsaraDB RDS for MySQL インスタンスへの接続」をご参照ください。 -
(任意) モニターとアラーム ページでバイナリログのサイズを確認できます。バイナリログが削除されたことを確認するには、[モニタリングとアラート] ページに移動し、[MySQL ストレージ使用量] グラフを見つけ、グラフにカーソルを合わせて各ストレージ項目のサイズを確認します。
binlog_sizeの値に注意してください。この例では、値は 1.35 MB です。
関連操作
-
また、PurgeDBInstanceLog API を呼び出してバイナリログを削除することもできます。
-
ApsaraDB RDS for MySQL インスタンスのログバックアップを有効または無効にするには、「ログバックアップの有効化または無効化」または ModifyBackupPolicy API をご参照ください。
-
ログバックアップを使用すると、保持期間内の任意の時点へデータを復元できます。詳細については、「ApsaraDB RDS for MySQL インスタンスの復元」または「ApsaraDB RDS for MySQL インスタンスの個別のデータベースとテーブルの復元」をご参照ください。
-
ストレージの拡張方法や使用量の急増のトラブルシューティングなど、RDS のストレージ領域に関するよくある質問については、「ストレージ領域に関する FAQ」をご参照ください。
よくある質問
-
Q:ApsaraDB RDS for MySQL インスタンスのバイナリログを有効にするにはどうすればよいですか。
A:ApsaraDB RDS for MySQL のバイナリログはデフォルトで有効になっており、無効にすることはできません。詳細については、「バイナリログの管理」をご参照ください。
-
Q:プライマリインスタンスとセカンダリインスタンスでバイナリログのサイズが異なるのはなぜですか。
A:通常、バイナリログのサイズはプライマリインスタンスとセカンダリインスタンスで同じです。ただし、いくつかの理由で不一致が発生する可能性があります。
-
レプリケーションラグ、バイナリログのダンププロセスの遅延、または進行中の DTS 移行タスク。
-
セカンダリインスタンスでのログの適用が遅延している可能性があります。
-
-
Q:生成された直後にバイナリログが自動的に削除されるのはなぜですか。
A:インスタンスのストレージ領域の使用率が 80% に達した場合、または残りの領域が 5 GB 未満の場合に発生する可能性があります。[ローカルログバックアップ設定] の [利用可能なストレージ] オプションが有効になっている場合、バイナリログは領域を解放するためにパージされます。インスタンスがロックされるのを防ぐために、手動で ストレージ領域を拡張 するか、ストレージの自動拡張 機能を有効にすることを推奨します。