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

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

王林
王林オリジナル
2023-06-15 20:45:581077ブラウズ

データのバックアップとリカバリは、データベース管理の重要な部分です。すべてのソフトウェアが誤動作したり、ハードウェアが損傷したりして、データの損傷や損失が発生する可能性があるためです。 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。