単純なデータベースを運営する小規模企業に適したバックアップ戦略が気になります。システム全体は、内部ハードドライブを搭載したローカルコンピュータによって実行されます。rsync
そして、いくつかのバックアップユーティリティを見てみましたが、dump
この種のシナリオにどれが適しているのかわかりません。
rsync
具体的な例として、MySQLなどのバックアップユーティリティがデータベース(MySQL)からデータをコピーして外付けハードドライブに保存するのに適しているかどうかを知りたいです。
答え1
頼む、
データベース(MySQL)からデータをコピーするには、rsyncなどのバックアップユーティリティが適していますか?
ここで答えはしっかりと「いいえ!」です。
SQL Serverベースのバックアップを実行するときにMySQLをシャットダウンする準備ができていないと、バックアップがrsync
データベースを破損することはほとんど確実です。 (ライブシステムは影響を受けずに正常に動作します。)その理由は、データベースシステムが異なる時間に異なるファイルの異なる部分を更新して更新するためです。rsync
これを無視して、見つかったファイルをコピーしてください。
たとえば、互いに関連する2つのファイルAとBを考えてみましょう。 Aはにコピーされますrsync
。この処理の間、Bはデータベースシステムによって更新される。これで、データベースシステムはAに関連する更新を適用しますが、rsync
Aを完了してBの更新を開始しました。バックアップには2つの「有効な」ファイルAとBが含まれていますが、互いに同期していません。
データベースをバックアップするには、データベースシステムを理解するためのツールを使用する必要があります。 MySQLパッケージにはこれらのツールが含まれているため、データベースをバックアップする必要があります。 (その後、rsync
またはその他の優先ユーティリティを使用して、結果のデータベースバックアップを外部ディスクドライブにコピーできます。)
答え2
一般的に言えばそうではありません。データベースは、バックアップの一貫性を確保するために特別に作成されたユーティリティを使用してバックアップする必要があります(たとえば、半分のコミットトランザクションがないなど)。実際には、コピーしようとしたときに記録されるすべてのファイルに対応します。データを記録するプログラムの助けがなければ、一貫したバックアップを取得することは困難です。
(したがってMySQLを終了するとrsyncを使用できますが、人々は通常データベースを実行し続けたいと思います。)
mysqldump
PerconaのXtraBackupから。どちらもJessieで利用できます(Wheezyの場合も同様ですが、xtrabackupにはサードパーティのリポジトリを追加する必要があるかもしれません)。