IBM Cloud Docs
Linux での MySQL のバックアップ

Linux での MySQL のバックアップ

デフォルトでは、Linux サーバー上の MySQL データベースは、以下のディレクトリーに格納されています。

/var/lib/mysql/

最初に mysqld サービスをシャットダウンした場合は、次のコマンドを使用して、例の /backup ディレクトリーにデータベースをコピーできます。

cp –Rp /var/lib/mysql/*.* /backup

cp コマンドの –R スイッチは再帰的を意味します。このスイッチは、各データベースが個別のディレクトリーにあるために使用する必要があります。 –p スイッチは、許可用です。これは、コピー内容の許可を維持します。

通常は、上記の方法を使用する前に mysqld サービスをシャットダウンします。 データベースの使用中にデータベースがコピーされると、バックアップが破損し、役に立たなくなります。 その時点で使用中のデータベースがないことが確実であれば、上記のコマンドを使用できます。

mysqldump コマンド

mysqld サービスをシャットダウンせずに、サーバー上の個々のデータベースおよびすべてのデータベースをバックアップするには、mysqldump コマンドを使用します。 データベースをオンラインに保ったままバックアップを作成できるこの機能があるため、この方法が優先されます。

個々のデータベース

以下のコードは、root としてログインしているときに、_「example」_という名前のデータベースをディレクトリー /backup にバックアップするために使用するサンプル・コマンドです。

mysqldump example > /backup/example_backup.sql

小さいデータベースでない限り、次にデータベース・バックアップを圧縮して、バックアップの転送にかかる時間を削減します。 次のコマンドは、サンプル・データベースのバックアップを圧縮します。

tar czvf /backup/example_backup.tar.gz /backup./example_backup.sql

すべてのデータベース

バックアップするデータベースが複数ある場合、次のコマンドはサーバー上のすべての MySQL データベースを /backup ディレクトリーにバックアップします。

mysqldump -A > /backup/databases.sql(or --all-databases)

–A スイッチ (「-all-databases」も同じ機能を持ちます) は、サーバー上のすべてのデータベースをダンプします。