Linux での MySQL のバックアップ
デフォルトでは、Linux サーバー上の MySQL データベースは、以下のディレクトリーに格納されています。
/var/lib/mysql/
最初に mysqld サービスをシャットダウンした場合は、次のコマンドを使用して、例の /backup ディレクトリーにデータベースをコピーできます。
cp –Rp /var/lib/mysql/*.* /backup
–Rスイッチは_cp_コマンドは再帰的であることを意味し、各データベースが別々のディレクトリにあるため、これを使用する必要があります。 –p スイッチは、許可用です。これは、コピー内容の許可を維持します。
通常は、上記の方法を使用する前に mysqld サービスをシャットダウンします。 データベースの使用中にデータベースがコピーされると、バックアップが破損し、役に立たなくなります。 どのデータベースも使用されていないことが確実な場合は、上記のコマンドを使用できます。
mysqldump コマンド
mysqld サービスをシャットダウンせずに、サーバー上の個々のデータベースおよびすべてのデータベースをバックアップするには、mysqldump コマンドを使用します。 データベースをオンラインに保ったままバックアップを作成できるこの機能があるため、この方法が優先されます。
個々のデータベース
次のコードは、次の名前のデータベースをバックアップするために使用するコマンドの例です。 _'例'_ディレクトリへ /backup
root としてログインしている場合:
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」も同じ機能を持ちます) は、サーバー上のすべてのデータベースをダンプします。