私はdebianシステム全体の完全バックアップを作成しているので、/var/lib/mysql
ディレクトリのコピーを作成することは、mysqldumpを使用してテーブルをダンプする代わりに実行可能な方法かどうかを考えていました。
データベースが不整合な状態になるのを回避するには、MySQLをシャットダウンするか、バックアップの前にLOCK TABLESを使用してからFLUSH TABLESを使用します。 2番目のソリューションは、MySQLサーバーがバックアップ中(読み取り専用ですが)利用可能なままなので、少し優れています。
このアプローチは、最初にデータベースをシャットダウンした場合にのみ安全に機能します。そうしないと、後で一貫性のない状態になる可能性があります。最初に/etc/init.d/mysql stopコマンドを使用します。その後、バックアップが取られた後で再起動できます。
最初にMySQLサーバーをシャットダウンし、まったく同じバージョンを使用して「バックアップ」を取得する限り、問題はありません。それ以外の場合はそうではありません。
2つの戦略の完全な説明については、これを読む必要があります: https://dev.mysql.com/doc/refman/5.5/en/backup-types.html
現在最高の無料でオープンソースのソリューションは、Perconaのようです: http://www.percona.com/software/percona-xtrabackup
私は強いNOで行きます。
私の経験から、生のmysqlデータファイルのバックアップ/復元は、同じos/serverバージョンでのみ使用できます。同じサーバーバージョンのクロスプラットフォーム(ubuntu/macosなど)でも、mysqlサーバーのバージョンが同じプラットフォームでも異なる場合は機能しません。
Percona XtraBackup(innobackupex) PerconaのMySQLディストリビューションでは、ライブおよび差分mysqlバックアップを実行し、/var/lib/mysql/
にコピーすることで復元できるバックアップファイルを提供できます。これらすべてを使用するには、Percona Server for MySQLを実行している必要があります。