Perlテックブログ

ITエンジニアの成長意欲を刺激する技術考察、モジュール開発の日記。Perlイベントや国内や海外のPerlの記事の紹介。

データベースのデータは3重にするように運用している

僕の開発しているシステムは不動産屋さんのシステムだけど、規模があんまり大きくないので、mysqldumpで十分運用できるサイズだ。

mysqldumpコマンドはMySQLのデータベースを、テキスト形式にして保存できるコマンドだ。テーブル定義とSQLコマンドが列挙されている。

mysqldumpは、10秒以内くらいで終わる。以下のようなコマンドを打つ。--optと--single-transactionはつけるようにすると丸暗記。

mydqldump -ukimoto -p --opt --single-transaction db1 > db1.dump

本番機のデータベースのデータは2ヵ所にバックアップしている

本番機のデータベースのデータは、2ヵ所にバックアップするようにしている。rsyncコマンドで、バックアップ用のふたつのサーバーに、ダンプしたデータをコピーする。もちろんcronを使って。

本番機と合わせて、後二か所、合計3ヵ所にデータがあると安心な感じがする。後は、時々手動でバックアップもする。自動処理がすべて同じロジックで書かれていて、間違っていたら危ないから。

最悪なのは、データ全喪失なので、そのリスクを分散している。