ホームページ > データベース > mysql チュートリアル > MySQL のバックアップとリカバリ: データを保護する方法

MySQL のバックアップとリカバリ: データを保護する方法

王林
リリース: 2023-06-15 20:45:58
オリジナル
1115 人が閲覧しました

データのバックアップとリカバリは、データベース管理の重要な部分です。すべてのソフトウェアが誤動作したり、ハードウェアが損傷したりして、データの損傷や損失が発生する可能性があるためです。 MySQL データベースを使用している場合は、データを保護するためにデータをバックアップおよび復元する方法を知る必要があります。

MySQL では、次のようなさまざまな方法を使用してバックアップとリカバリを実行できます。

  1. MySQL の組み込みバックアップおよびリカバリ ツールの使用
  2. 3 番目のツールの使用-party バックアップ ツール
  3. 手動バックアップと復元

これらの方法については、以下で詳しく説明します。

MySQL の組み込みバックアップおよびリカバリ ツール

MySQL には、mysqldump と mysqlhotcopy という 2 つの組み込みツールが用意されています。どちらのツールもコマンド ラインを使用して操作でき、操作が比較的簡単で、バックアップとリカバリの整合性が保証されます。

  1. mysqldump

mysqldump は、MySQL で最も一般的に使用されるバックアップ ツールの 1 つです。 MySQL サーバーを停止せずにデータベースをバックアップし、元のデータベースとまったく同じ .sql ファイルを生成できます。 mysqldump を使用すると、すべてのデータベースをバックアップするか、特定のデータベースをバックアップするかを選択できます。

mysqldump コマンドを使用してデータベースをバックアップする構文は次のとおりです:

mysqldump -u [用户名] -p [密码] [数据库名] > [备份文件名].sql 
ログイン後にコピー

例:

mysqldump -u root -p mydatabase > backup.sql
ログイン後にコピー

バックアップが完了したら、次の構文を使用して次のことを行うことができます。データベースを復元します:

mysql -u [用户名] -p [密码] [数据库名] < [备份文件名].sql
ログイン後にコピー
ログイン後にコピー

mysqldump を使用してデータベースを復元するための構文は次のとおりです:

mysql -u [用户名] -p [密码] [数据库名] < [备份文件名].sql
ログイン後にコピー
ログイン後にコピー

例:

mysql -u root -p mydatabase < backup.sql
ログイン後にコピー
  1. mysqlhotcopy

mysqlhotcopy は、データベース ディレクトリ全体をバックアップできるバックアップ ツールです。通常、バックアップ速度は mysqldump よりもはるかに高速です。ただし、mysqlhotcopy を使用するには、MySQL サーバーを停止する必要があります。

次は、mysqlhotcopy を使用してデータベースをバックアップするための構文です:

mysqlhotcopy [源路径] -u [用户名] -p [密码] [目标路径]
ログイン後にコピー

例:

mysqlhotcopy /var/lib/mysql/mydatabase /backup/mydatabase -u root -p password
ログイン後にコピー

次は、mysqlhotcopy を使用してデータベースを復元するための構文です:

cp -r /备份路径/* /MySQL数据库路径/
ログイン後にコピー

例:

cp -r /backup/mydatabase/* /var/lib/mysql/mydatabase/
ログイン後にコピー

サードパーティのバックアップ ツール

MySQL の組み込みバックアップ ツールに加えて、選択できるサードパーティのバックアップ ツールが数多くあります。例: Xtrabackup、Percona Toolkit など。これらのツールにはそれぞれ長所と短所があるため、ニーズに合ったものを選択する必要があります。多くの場合、サードパーティのバックアップ ツールを使用すると、バックアップとリカバリの操作が高速化されます。

手動バックアップとリカバリ

手動バックアップとリカバリは最も直接的な方法ですが、この方法はシステム管理者の高度なスキルと時間を必要とし、データ ファイルをコピーして実行する必要があります。 。手動バックアップでは、MySQL サーバーを停止し、データベースが存在するディレクトリをコピーしてバックアップを実行する必要があります。

手動バックアップの手順は次のとおりです。

  1. MySQL サーバーを停止します。
sudo systemctl stop mysql
ログイン後にコピー
ログイン後にコピー
  1. 元のデータベース ディレクトリをバックアップ ディレクトリに移動します。
sudo mv /var/lib/mysql/mydatabase /backup/mydatabase
ログイン後にコピー
  1. MySQL サーバーを起動します。
sudo systemctl start mysql
ログイン後にコピー
ログイン後にコピー

手動リカバリの手順は次のとおりです。

  1. MySQL サーバーを停止します。
sudo systemctl stop mysql
ログイン後にコピー
ログイン後にコピー
  1. バックアップ ディレクトリからデータベース ディレクトリをコピーします。
sudo cp -R /backup/mydatabase /var/lib/mysql
ログイン後にコピー
  1. データベース ディレクトリの所有者とグループを変更します。
sudo chown -R mysql:mysql /var/lib/mysql/mydatabase
ログイン後にコピー
  1. MySQL サーバーを起動します。
sudo systemctl start mysql
ログイン後にコピー
ログイン後にコピー

結論

どのバックアップおよびリカバリ方法を使用する場合でも、次の点に注意する必要があります。

  1. データを定期的にバックアップする
  2. バックアップ データを別の場所に保存する
  3. リカバリ プロセスをテストしてバックアップの整合性を確認する

MySQL データベースのバックアップとリカバリは重要であり、次のような事態に直面しても安全を確保できます。データの損失や破損が発生した場合でも、迅速に回復できます。どの方法を使用する場合でも、バックアップの整合性を確保するために、データを定期的にバックアップし、バックアップを別の場所に保存する必要があります。

以上がMySQL のバックアップとリカバリ: データを保護する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート