MariaDB-バックアップ方法

データはビジネスと運用の基盤として機能し、さまざまな脅威(攻撃者、システム障害、不適切なアップグレード、メンテナンスエラーなど)が発生する可能性があるため、バックアップは依然として重要です。これらのバックアップにはさまざまな形式があり、これらのプロセス内でさらに幅広いオプションのセットを使用してバックアップを作成するための多くのオプションが存在します。覚えておくべき重要なことは、データベースの種類、重要な情報、および関連する構造です。この情報はあなたの最良の選択肢を決定します。

オプション

バックアップの主なオプションには、論理バックアップと物理バックアップがあります。論理バックアップは、データを復元するためのSQLステートメントを保持します。物理バックアップには、データのコピーが含まれています。

  • Logical backups同じマシンとデータベースタイプに制限されることが多い物理バックアップとは対照的に、異なる構成の別のマシンでデータを復元する柔軟性を提供します。論理バックアップはデータベースおよびテーブルレベルで発生し、物理バックアップはディレクトリおよびファイルレベルで発生します。

  • Physical backups論理よりもサイズが小さく、実行と復元にかか​​る時間も短くなります。物理バックアップにはログファイルと構成ファイルも含まれますが、論理バックアップには含まれません。

バックアップツール

MariaDBバックアップに使用される主なツールは mysqldump。論理バックアップと柔軟性を提供します。また、小規模なデータベースに最適なオプションでもあります。MysqldumpデータをSQL、CSV、XML、およびその他の多くの形式にダンプします。その出力は、明示的な指示がない限り、ストアドプロシージャ、ビュー、およびイベントを保持しません。

の3つのオプションがあります mysqldump バックアップ-

  • Raw data −ファイルの宛先も指定する--tabオプションを使用して、テーブルを生データファイルとしてダンプします。

$ mysqldump -u root -p --no-create-info \
   --tab=/tmp PRODUCTS products_tbl
  • Data/Definitions export−このオプションを使用すると、単一または複数のテーブルをファイルにエクスポートでき、ホストマシン上の既存のすべてのデータベースのバックアップをサポートします。コンテンツまたは定義をファイルにエクスポートする例を調べます

$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  • Transfer −データベースとテーブルを別のホストに出力することもできます

$ mysqldump -u root -p database_name \
   | mysql -h other-host.com database_name

SELECT ... INTOOUTFILEステートメントの使用

データをエクスポートするための別のオプションは、SELECT ... INTOOUTFILEステートメントを使用します。この単純なオプションは、テーブルを単純なフォーマットのテキストファイルに出力します-

mysql> SELECT * FROM products_tbl
   -> INTO OUTFILE '/tmp/products.txt';

その属性により、ファイルを好みの仕様にフォーマットできます。

このステートメントの次の性質に注意してください-

  • ファイル名は、出力の目的の場所を指定する必要があります。

  • ステートメントを実行するには、MariaDBファイルの権限が必要です。

  • 出力ファイル名は一意である必要があります。

  • ホストにログイン資格情報が必要です。

  • UNIX環境では、出力ファイルは誰でも読み取り可能ですが、そのサーバーの所有権はファイルを削除する機能に影響します。特権があることを確認してください。

バックアップでのCONNECTの使用

CONNECTハンドラーを使用すると、データをエクスポートできます。これは主に、SELECT ... INTOOUTFILE操作がファイル形式をサポートしていない状況で役立ちます。

次の例を確認してください-

create table products
engine = CONNECT table_type = XML file_name = 'products.htm' header = yes
option_list = 'name = TABLE,coltype = HTML,attribute = border = 1;cellpadding = 5'

select plugin_name handler, plugin_version version, plugin_author
author, plugin_description description, plugin_maturity maturity
from information_schema.plugins where plugin_type = 'STORAGE ENGINE';

その他のツール

バックアップの他のオプションは次のとおりです-

  • XtraBackup−このオプションは、XtraDB / InnoDBデータベースを対象とし、任意のストレージエンジンで機能します。このツールの詳細については、Perconaの公式サイトをご覧ください。

  • Snapshots−一部のファイルシステムではスナップショットが許可されています。このプロセスは、読み取りロックを使用したテーブルのフラッシュ、スナップショットのマウント、テーブルのロック解除、スナップショットのコピー、およびスナップショットのアンマウントで構成されます。

  • LVM−この一般的な方法は、Perlスクリプトを採用しています。すべてのテーブルで読み取りロックを取得し、キャッシュをディスクにフラッシュします。次に、スナップショットを取得し、テーブルのロックを解除します。関係者に相談するmylvmbackup 詳細については、Webサイトを参照してください。

  • TokuBackup− Perconaが提供するこのソリューションは、InnoDBバックアップオプションの問題と制限を考慮したホットバックアップを提供します。アプリケーションがファイルを操作し続けている間、ファイルのトランザクションサウンドコピーを生成します。詳細については、PerconaのWebサイトを参照してください。

INNODBの考慮事項

InnoDBは、パフォーマンスを向上させるためにバッファープールを使用します。論理バックアップは通常、全表スキャンを実行するため、バックアップでは、テーブル全体がバッファープールにコピーされないようにInnoDBを構成します。