2009-09-07 7 views
8

次のrsyncコマンドを使用して、MySQLデータをLANネットワーク内のマシンにバックアップします。それは期待どおりに動作します。rsyncを使用してMySQLをバックアップする

rsync -avz /mysql/ root:[email protected]:: /root/testme/ 

これがrsyncを使用する正しい方法であることを確認したいだけです。

また、この5分間のcrontabエントリが機能するかどうかを知りたいと思います。

答えて

16
  1. この場合、リモートマシンのrootユーザーは使用しないでください。実際には、直接ルートユーザーに接続することは絶対にありません。これは大きなセキュリティリークです。この場合、単純にこの接続のためのパスワードを使用しますが、代わりにpublic-key authentication
  2. はあなたが行うとき、MySQLが実行されていないことを確認してください使用しないでくださいだけ
  3. バックアップ場所に書き込むことができ、いくつかの権限を持つ新しいユーザーを作成これは、簡単に破損したバックアップを取得することができます。
  4. mysqldumpを使用して、MySQLの実行中にデータベースのダンプを作成します。その後、そのダンプを安全にコピーできます。
5

私はあなたのrsyncコマンドについて本当に知りませんが、これはMySQLを使ってバックアップを行う正しい/最良の方法であるとは確信していません。 6.1. Database Backups

DBバックアップは、ロック、遅延書き込み、MySQLがそのデータで行うことができるすべての問題などを考慮して、必ずしも単純であるとは限りません。特にテーブルがMyISAMエンジンを使用していない場合。

5分crontab」について:このバックアップは5分ごとに実行していますか?あなたのデータが賢明ならば、別のサーバへの複製のような何かについて、常に最新のコピーがあると考えるべきでしょう。

6

私は、MySQLのバックアップを行うより良い方法は、複製機能を使用することです。

あなたのマスターのスレーブとしてバックアップマシンを設定します。各トランザクションは自動的にミラー化されます。

スレーブをシャットダウンして、スレーブからテープへのフルバックアップを実行することもできます。スレーブを再起動すると、スレーブはマスタと再び同期します。

+1

これは、マスターに完全なbinlogがある場合にのみ機能します。時には、スレーブを(mysqldump --master-data'で取った)少し古いバックアップから復元し、結果としてデータベースが完成したことを確認するために 'スレーブスタート'が最善の方法です。 –

+0

はい、データベースの複製を別のマシンに複製します。あなたが誤ってテーブルやデータベース全体を削除した場合、レプリケートされたMySQLサーバにアクセスするだけでOKです。 – Ernie

関連する問題