sql >> データベース >  >> RDS >> MariaDB

ClusterControl-高度なバックアップ管理-mariabackupパートIII

    この短いブログシリーズの前の2つのパートでは、バックアップの時間とサイズに影響を与える可能性のあるいくつかのオプションについて説明してきました。さまざまな圧縮オプションと、ノードからコントローラーホストにデータをストリーミングする場合のネットワーク転送の調整に関連する設定について説明しました。今回は、MariaBackupを使用して部分的なバックアップを取る機能という別のことを強調したいと思います。まず、部分バックアップとは何か、それらに関連する課題は何かについて話しましょう。

    部分バックアップ

    MariaBackupは、物理バックアップを作成するバックアップツールです。これは、データベースノード上のファイルに保存されているデータをターゲットの場所にコピーすることを意味します。これにより、データベースの一貫したバックアップが作成されます。これにより、データを正確な時点(バックアップが完了した時点)に復元できます。すべてのテーブルとスキーマのすべてのデータは一貫しています。これは覚えておくことが非常に重要です。一貫性のあるバックアップを使用して、レプリカのプロビジョニング、ポイントインタイムリストアの実行などを行うことができます。

    一方、部分バックアップは部分的です。テーブルのサブセットのみがバックアップされます。明らかに、これによりバックアップに一貫性がなくなります。レプリカを作成したり、同じ時点にデータを復元したりするために使用することはできません。部分バックアップには、まだ独自の用途があります。これらを使用して、データのサブセットを復元できます。バックアップ全体を復元する代わりに、1つのテーブルだけを復元して、必要なデータを抽出できます。もちろん、論理バックアップでも同じことができますが、それらは非常に遅く、あらゆる種類の大規模な展開にはあまり適していません。

    欠点は、部分的なバックアップが時間的に一貫していないことです。データのサブセットのみを収集しているため、これは非常に明白なはずです。もう1つの課題は、復元です。本番システムに直接部分バックアップを簡単に復元することはできません。第一に、それは単純ではないため、第二に、一貫性がないためです。部分バックアップを復元する最も安全な方法は、別のノードに復元してから、mysqldumpまたはSELECTINTOOUTFILEを使用して必要なデータを抽出することです。

    部分バックアップに関してClusterControlが提供するオプションを見てみましょう。

    ClusterControlの部分バックアップ

    まず、部分バックアップはデフォルトでは使用されません。それらを明示的に有効にします。次に、バックアップするものを選択できる一連のオプションが表示されます。特定のスキーマまたはテーブルのセットを選択できます。一部を除くすべてのテーブルのバックアップを取ることも、テーブルA、B、Cのバックアップを取るように指示することもできます。

    写真の作成者写真の説明

    もちろん、ドロップダウンに移動すると、リストされているすべてのデータベースとすべてのテーブルを参照して選択してください。

    いくつかのテーブルとスキーマを選択し、実行しますこのバックアップを今すぐ。もちろん、必要に応じて、通常のバックアップとまったく同じ方法で部分バックアップをスケジュールできます。

    2番目の画面では、私たちと同じように、mariabackupを好みに合わせて構成できます。以前のブログ投稿で説明されています。これで、[バックアップの作成]ボタンをクリックすると、プロセスが開始されます。

    ClusterControlでの部分バックアップの復元

    バックアップの準備ができると、バックアップリストに表示されます。

    スキーマのリストがあるため、部分的なバックアップであることがわかりますそれに含まれています。

    非同期レプリケーションクラスターで部分バックアップを復元しようとすると、次のようになります。 2つのオプションが表示されます。ノードで復元し、スタンドアロンホストで復元して確認します。前者は、バックアップにないデータの一部を消去するため、絶対にやりたいことではありません。一方、後者のオプションを使用すると、別のノードを展開して、そのノードにバックアップを復元できます。

    必要なのは、 ClusterControlからSSHで接続し、バックアップが復元された後に停止しないようにします。これにより、部分的なバックアップを復元し、それにアクセスして、必要なあらゆる種類のデータを抽出できるようになります。

    この短いブログで、ClusterControlを使用して部分的なバックアップを実行する方法、使用例、およびそれらを安全な方法で復元する方法についての洞察が得られることを願っています。


    1. DB内のすべてのスキーマを一覧表示するためのOracleSQLクエリ

    2. Java JDBC:一貫して2日間の休日

    3. MySQLクエリ結果を.CSVファイルに保存する方法

    4. 列の序数位置を使用してSQLサーバーデータを選択することは可能ですか?