2011-07-22 10 views
0

私はVPS上でホストされているいくつかのウェブサイトを持っており、現在、次のようになりますcronを介して、シェルスクリプトを実行して、データベースのバックアップを行っております:MySQLデータベースをバックアップする方法を最適にするにはどうすればよいですか?

mysqldump -uusername1 -prootpassword dbname1 > /backup/dbname1.bak 
mysqldump -uusername2 -prootpassword dbname2 > /backup/dbname2.bak 
mysqldump -uusername3 -prootpassword dbname3 > /backup/dbname3.bak 

私はこのプロセスについての懸念のカップルを持っています。

最初に、私はmysqldumpを実行するためにrootサーバのパスワードを使用していますが、そのファイルはサーバ上の平文で保存されています(公的にはアクセスできないなど)。サーバーを1つまたは複数の理由で)私はルートを使用しています。なぜなら、データベースを作成して特定のdbパスワードを要求するすべての人を追跡するよりも簡単なのでです。

第2に、このプロセスは、人々がデータベースを追加したことを知らせる場合にのみ機能します(大部分は問題なく、ここでは複雑なものは何もしません)。私はのバックアップをすべてのことを見落としていることを心配することなく好みたいと思う。

答えて

1

あなたはいつもちょうどすべてのデータベースのダンプができます

mysqldump --all-databases | gzip -9 > /backup/dbs.bak.gz 

があるDBSいるのを追跡することからあなたを解放したいです。欠点は、復元がもう少し複雑になることです。

rootを使用する場合、バックアップを実行する権限を持つ別のアカウントを作成できない理由はありません。最初の設定以外でrootアカウントを使用しないでください。

1

私はこのスクリプトを使用します:http://sourceforge.net/projects/automysqlbackup/これは完全に動作します。また、グローバルなSELECTおよびLOCK TABLESパーミッションを持つバックアップMySQLユーザを追加する必要があります。あなたは誰のユーザー名とパスワードも必要としないように/