mysqlでテーブル名を指定し、かつgzip形式で圧縮バックアップする

データベースの一括バックアップは、当然ですがサーバの負荷も高くなるため、サーバリソースに余裕がある(あるいはデータベースが十分小さい)場合でないと躊躇してしまいます。少なくとも本番環境などではあまり現実的ではない選択肢なので、普段はmysqldumpコマンドで該当テーブルのみピンポイントでバックアップして不慮の事態に備えるようにしています。

# mysqldump -u [username] -p [password] -t [database] [table] | gzip > [filename].gz

パイプ使ってgzipに渡してあげれば、圧縮する手間も省けて便利。
ただ圧縮にはそれなりにCPUの負荷がかかりますので、ディスク容量に余裕があるなら無圧縮でダンプを吐き出すのもあり。

# mysqldump -u [username] -p [password] -t [database] [table] > [filename]

まあVMware Server とか ESXiとか使ってるのであれば、VMのスナップショット取っちゃうのが一番簡単なんですけどね。スナップショットのリストアが高負荷なのでアレですが、それに勝るお手軽さが魅力です。

Tags: , ,  

コメントをどうぞ