mysqldumpして直接gzip圧縮するコマンド(linux)
mysqldumpで、ダンプして、出力のSQLファイルを直接gzip圧縮するコマンドを解説する。なお、これはlinux(centosなどのこと)のコマンドであるので注意。
環境ごとのページ一覧
このページは、linux環境向けのページである。直接圧縮については、環境ごとに3つのページを作成しているので、確認のこと。コマンド
コマンドは下記のとおりである。
mysqldump -u username -ppassword dbname | gzip > dumpfilename.sql.gz
具体例
少し具体的に書こう。DB情報等が下記であったとする。
項目 | 値 |
---|---|
DBユーザ名 | pudding |
DBパスワード | qwerty123456 |
DB名 | zipcode |
このDB情報等を反映すると、下記のように書くことになる。
mysqldump -u pudding -pqwerty123456 zipcode | gzip > dumpfilename.sql.gz
なお、gzip圧縮の機能はmysqldump自体には備わっていない。上記は、「mysqldumpの出力結果をgzipコマンドに送って圧縮する」というコマンドである。
出力されるsqlファイル
出力されるSQLファイルは、普通にダンプする場合と全く同じである。
直接gzip圧縮される
なお、このコマンドでは、テキストファイルとしてのSQLファイルは全く生成されない。たとえば、「30GBのダンプファイル(SQLファイル)の出力が予想されるがHDD空き容量が10GBしかない」という場合であっても、おそらくダンプできる。
「gzip圧縮される過程で、一旦テキストファイルとしてのSQLファイルが生成されるのでは?」と、不安になる人もいると思うが、上記コマンドでは、そのようなことはない。安心である。
用途
gzip圧縮されるということで、下記のような場面で使われることが多いだろう。
- ストレージ空き容量が少ない
- 別のサーバにダンプファイルを転送したいが、通信回線に負担をかけたくない
- 別のサーバにダンプファイルを速く転送したい
- 非常用のバックアップとしてダンプするので、極力、保存するファイルサイズを小さくしたい