1.6. 論理ダンプを使用した MariaDB データのバックアップと復元
MariaDB データの論理バックアップは、データの復元に必要な SQL ステートメントで構成されます。物理バックアップに対する論理バックアップの利点は、異なるハードウェア構成や MariaDB バージョンでもデータを復元できることです。
1.6.1. mariadb-dump を使用した論理バックアップの実行 リンクのコピーリンクがクリップボードにコピーされました!
mariadb-dump ユーティリティーを使用すると、MariaDB サーバーの実行中にデータベースをバックアップし、エクスポートしたデータを SQL ファイルに保存できます。データが失われた場合に回復できるように、バックアップをセキュアな場所に保存してください。
mariadb-dump がよく使用される場面としては、以下のものがあります。
- 単一のデータベースのバックアップ
- 複数のデータベースのバックアップ
- すべてのデータベースのバックアップ
mariadb-dump ユーティリティーは、出力を 1 つのファイルに保存します。複数のデータベースをバックアップする際に、データベースごとに 1 つのファイルが必要な場合は、各データベースを個別にバックアップしてください。
mariadb-dump ユーティリティーがバックアップできるのは、データベースだけです。これには、mysql データベースに格納されているサーバー設定も含まれます。ただし、このユーティリティーは /etc/my.cnf などの設定ファイルはバックアップしません。
前提条件
-
mariadbサービスが実行中である。 -
rootアカウントなど、データベースをバックアップする権限を持つ認証情報を持っている。
手順
MariaDB データベースの整合性があり包括的な論理バックアップを作成します。
# mariadb-dump -u <username> -p --routines --events --triggers --single-transaction --result-file=backup.sql --databases <database_1> <database_2>各項目の説明:
-u <username>- ユーティリティーがデータベースサーバーに接続するために使用するユーザー名を設定します。
-p- パスワードの入力を求めます。
--routines- バックアップにストアドプロシージャーと関数を含めます。
--events- スケジュールされたイベントをバックアップに含めます。
--triggers- バックアップにトリガーを含めます。
--single-transactionInnoDB などのトランザクションストレージエンジンを使用するデータベースに対して、整合性の取れたスナップショットの作成を開始します。単一のトランザクションを使用すると、すべての読み取り操作が、ダンプ開始時点のデータベースの状態を反映したものになります。
MyISAM などの非トランザクションストレージエンジンをまだ使用している場合は、整合性のあるバックアップを確保するために、
--single-transactionではなく--lock-tablesオプションを使用してください。--result-file=<output_file>-
mariadb-dumpが出力を保存するファイルを定義します。 --databases <list_of_databases>バックアップするデータベースを定義します。または、すべてのデータベースを一度にバックアップするには、
--all-databasesオプションを使用します。重要データベースのバックアップには、そのデータベースのデータのみが含まれます。MariaDB ユーザーアカウントやその他のサーバー設定は含まれません。MariaDB は、この重要なセキュリティー情報やシステム情報を、別の
mysqlシステムデータベースに保存しています。したがって、これらの設定を保持する必要がある場合は、mysqlもバックアップする必要があります。
検証
- サンドボックス環境でバックアップを復元し、データが正しいことを確認します。