MySQLでエクスポート&インポートする際の効率化【小ネタ】

MySQL関連の小ネタです。

MySQLのデータベースを別のサーバに移行したり、バックアップの取得&復元をしたりする際に、一時的とはいえダンプファイルが大容量を取ってしまい、ディスクを逼迫してしまうことが少なくありません。

gzip圧縮をうまく活用することで、ディスク逼迫のリスクを軽減させることができます。

コマンドは簡単で、

MySQLでエクスポートする際に、

mysqldump -u[user] -p -h[hostname] [database] | gzip > dump.sql.gz 

MySQLでインポートする際に、

zcat dump.sql.gz | mysql -u[user] -p -h[hostname] [database] 

とすれば、途中で生成されるダンプファイルがgzip圧縮された状態になるので、かなり容量が小さくなります。(ダンプファイルは実態はSQL文の集まりでしか無いので、圧縮効率はかなり良い)

意外と使える技だと思いますので、試してみる価値ありでは無いかと。