1.7. 物理コピーを使用した MariaDB データのバックアップと復元


MariaDB データの物理バックアップには、コンテンツを格納しているファイルとディレクトリーが含まれます。通常、この方法はより高速で、サイズが小さくなります。

1.7.1. mariabackup を使用した物理的なオンラインバックアップの実行

サーバーの実行中に、mariabackup ユーティリティーを使用して InnoDB、Aria、および MyISAM テーブルをバックアップすることにより、MariaDB サーバーの物理的なオンラインバックアップを作成できます。このユーティリティーは、暗号化および圧縮されたデータを含む MariaDB サーバーの完全バックアップ機能をサポートします。

前提条件

  • mariadb-backup パッケージがシステムにインストールされている。
  • バックアップを実行するユーザーの認証情報を mariabackup に提供する必要がある。認証情報はコマンドラインまたは設定ファイルで指定できます。
  • mariabackup のユーザーには、RELOADLOCK TABLES、および REPLICATION CLIENT 特権が必要です。

手順

  • バックアップを作成するには、次のいずれかのオプションを使用します。

    • コマンドラインで認証情報を提供しながらバックアップを作成するには、次のように入力します。

      $ mariabackup --backup --target-dir <backup_directory> --user <backup_user> --password <backup_passwd>

      target-dir オプションは、バックアップファイルを格納するディレクトリーを定義します。完全バックアップを実行する場合は、ターゲットディレクトリーが空であるか、存在しない必要があります。

      user および password オプションにより、ユーザー名とパスワードを設定できます。

    • 設定ファイルに認証情報を設定してバックアップを作成するには、次のコマンドを実行します。

      1. /etc/my.cnf.d/ ディレクトリーに設定ファイルを作成します (例: /etc/my.cnf.d/mariabackup.cnf)。
      2. 以下の内容をファイルに追加します。

        [mysqld]
        user=<backup_username>
        password=<password>
      3. バックアップを実行します。

        $ mariabackup --backup --target-dir <backup_directory>

1.7.2. mariabackup を使用したデータの復元

mariabackup ユーティリティーによって作成された MariaDB バックアップがある場合は、同じユーティリティーを使用してデータを復元できます。

前提条件

  • mariadb サービスが停止しています。
  • データディレクトリーが空です。
  • mariabackup のユーザーには、RELOADLOCK TABLES、および REPLICATION CLIENT 特権が必要です。

手順

  1. データを復元するには、次のいずれかのオプションを使用します。

    • /var/mariadb/backup/ ディレクトリー内のバックアップからデータを復元し、元のバックアップファイルを保持するには、次のように入力します。

      $ mariabackup --copy-back --target-dir=/var/mariadb/backup/
    • /var/mariadb/backup/ ディレクトリー内のバックアップからデータを復元し、元のバックアップファイルを削除するには、次のように入力します。

      $ mariabackup --move-back --target-dir=/var/mariadb/backup/
  2. ファイルのパーミッションを修正します。たとえば、ファイルの所有権を mysql ユーザーおよびグループに再帰的に変更するには、次のコマンドを実行します。

    # chown -R mysql:mysql /var/lib/mysql/

    データベースを復元する際、mariabackup は、バックアップのファイルおよびディレクトリー特権を保持します。ただし、mariabackup は、ユーザーおよびグループがデータベースを復元する際にファイルをディスクに書き込みます。したがって、バックアップを復元した後、MariaDB サーバーのユーザーとグループに合わせてデータディレクトリーの所有者を調整する必要があります。

  3. mariadb サービスを起動します。

    # systemctl start mariadb.service

1.7.3. MariaDB サーバーでのファイルシステムバックアップの実行

ファイルシステムレベルのバックアップは、MariaDB インスタンス全体をバックアップする高速な方法です。この方法では、データの整合性を保つために mariadb サービスをシャットダウンする必要があります。

重要

ファイルシステムレベルのバックアップは、アーキテクチャーと MariaDB バージョンに固有のものです。この方法でバックアップしたデータを、異なるアーキテクチャーまたは MariaDB バージョンで復元することはできません。

手順

  1. mariadb サービスを停止します。

    # systemctl stop mariadb.service
  2. バックアップディレクトリーを作成します。次に例を示します。

    # mkdir -p /root/mariadb-backup/{data,config}/
  3. データディレクトリーをバックアップします。

    # cp -rp /var/lib/mysql/ /root/mariadb-backup/data/
  4. 設定ファイルをバックアップします。

    # cp -rp /etc/my.cnf /etc/my.cnf.d/ /root/mariadb-backup/config/
  5. mariadb サービスを起動します。

    # systemctl start mariadb.service

1.7.4. MariaDB サーバーでのファイルシステムバックアップの復元

MariaDB インスタンスが破損した場合は、以前にデータディレクトリーと設定ファイルを含むファイルシステムバックアップを実行済みであれば、このバックアップからインスタンスを復元できます。

前提条件

手順

  1. mariadb サービスを停止します。

    # systemctl stop mariadb.service
  2. 現在の /var/lib/mysql/ ディレクトリーを削除します。

    # rm -rf /var/lib/mysql/
  3. バックアップからデータディレクトリーを復元します。

    # cp -rp /root/mariadb-backup/data/mysql/ /var/lib/
  4. /var/lib/mysql/ ディレクトリーの所有権を正しく設定します。

    # chown -R mysql:mysql /var/lib/mysql/
  5. /var/lib/mysql/ ディレクトリーの SELinux コンテキストを復元します。

    # restorecon -Rv /var/lib/mysql/
  6. 現在の設定ファイルを削除します。

    # rm -rf /etc/my.cnf /etc/my.cnf.d/
  7. バックアップから設定ファイルを復元します。

    # cp -rp /root/mariadb-backup/config/my.cnf /root/mariadb-backup/config/my.cnf.d/ /etc/
  8. 設定ファイルの所有権を正しく設定します。

    # chown -R root:root /etc/my.cnf /etc/my.cnf.d/
  9. 設定ファイルの SELinux コンテキストを復元します。

    # restorecon -Rv /etc/my.cnf /etc/my.cnf.d/
  10. mariadb サービスを起動します。

    # systemctl start mariadb.service

検証

  • MariaDB データベースに接続してデータを照会します。次に例を示します。

    # mariadb -u root -p <database> -e "*SELECT * FROM <table>;"
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る