2.7. 物理コピーを使用した MySQL データのバックアップと復元
MySQL データの物理バックアップには、コンテンツを格納しているファイルとディレクトリーが含まれます。通常、この方法はより高速で、サイズが小さくなります。
2.7.1. MySQL サーバーでのファイルシステムバックアップの実行 リンクのコピーリンクがクリップボードにコピーされました!
ファイルシステムレベルのバックアップは、MySQL インスタンス全体をバックアップする高速な方法です。この方法では、データの整合性を保つために mysqld サービスをシャットダウンする必要があります。
ファイルシステムレベルのバックアップは、アーキテクチャーと MySQL バージョンに固有のものです。この方法でバックアップしたデータを、異なるアーキテクチャーまたは MySQL バージョンで復元することはできません。
手順
mysqldサービスを停止します。# systemctl stop mysqld.serviceバックアップディレクトリーを作成します。次に例を示します。
# mkdir -p /root/mysqld-backup/{data,config}/データディレクトリーをバックアップします。
# cp -rp /var/lib/mysql/ /root/mysqld-backup/data/設定ファイルをバックアップします。
# cp -rp /etc/my.cnf /etc/my.cnf.d/ /root/mysqld-backup/config/mysqldサービスを開始します。# systemctl start mysqld.service
2.7.2. MySQL サーバーでのファイルシステムバックアップの復元 リンクのコピーリンクがクリップボードにコピーされました!
MySQL インスタンスが破損した場合は、以前にデータディレクトリーと設定ファイルを含むファイルシステムバックアップを実行済みであれば、このバックアップからインスタンスを復元できます。
前提条件
- MySQL サーバーでファイルシステムバックアップを実行した。
ターゲットサーバーが、以下に示すバックアップソースの条件を満たしている必要があります。
- MySQL のバージョンが同じかそれ以降である必要があります。
- システムアーキテクチャーが同じである必要があります。
手順
mysqldサービスを停止します。# systemctl stop mysqld.service現在の
/var/lib/mysql/ディレクトリーを削除します。# rm -rf /var/lib/mysql/バックアップからデータディレクトリーを復元します。
# cp -rp /root/mysqld-backup/data/mysql/ /var/lib//var/lib/mysql/ディレクトリーの所有権を正しく設定します。# chown -R mysql:mysql /var/lib/mysql//var/lib/mysql/ディレクトリーの SELinux コンテキストを復元します。# restorecon -Rv /var/lib/mysql/現在の設定ファイルを削除します。
# rm -rf /etc/my.cnf /etc/my.cnf.d/バックアップから設定ファイルを復元します。
# cp -rp /root/mysqld-backup/config/my.cnf /root/mysqld-backup/config/my.cnf.d/ /etc/設定ファイルの所有権を正しく設定します。
# chown -R root:root /etc/my.cnf /etc/my.cnf.d/設定ファイルの SELinux コンテキストを復元します。
# restorecon -Rv /etc/my.cnf /etc/my.cnf.d/mysqldサービスを開始します。# systemctl start mysqld.service
検証
MySQL データベースに接続してデータを照会します。次に例を示します。
# mysql -u root -p <database> -e "*SELECT * FROM <table>;"