キモブロ

Please spy check please, Fucking retard

dailyのmysqldump方法を変えてみた

趣味サービスやりまくってるせいか、mysql のデータ量がだいぶ増えてきてしまった。なにか障害がa
った時にデータが復旧できるようにちゃんと毎日バックアップしてるんだけど、(まぁ普通ですね) そのせいで。


俺の mysql は普通に dump するだけで 21GB くらいデータがあって、これだけサイズもでかいとこれを圧縮するだけでも超時間がかかるので、いままでは gzip --fast (圧縮レベル最低、高速) で可能な限り高速圧縮していた。しかし、これでも圧縮後で1GBもある。ちなみにこの圧縮レベル上げると終わらなくなる(笑)


で、今日からは、せっかくだし新圧縮方式を使ってみようということで、xz -1 を使って見ることにした。(gzipみたいに --fast オプションはあるんだけど互換性のために提供されてるだけで、推奨されてないので使うのやめた) でやって見るようにしたところ 500 MB になった。(gzip --fastに比べると処理時間は増えた)


コマンドラインとしてはこんな感じ

$ mysqldump -u root --all-databases --single-transaction | xz -z -1 > ./path/to/backup.xz

ちなみにxz -3だと作業完了までに30分かかって、しかも圧縮後のサイズが300MBとかいうレベルだったのでやめた。30分はなんかつらいなー。まぁ、--single-transaction してるのでテーブルロックされることはないから別にいいんだけどなんとなく。