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圧縮されるということで、下記のような場面で使われることが多いだろう。

  • ストレージ空き容量が少ない
  • 別のサーバにダンプファイルを転送したいが、通信回線に負担をかけたくない
  • 別のサーバにダンプファイルを速く転送したい
  • 非常用のバックアップとしてダンプするので、極力、保存するファイルサイズを小さくしたい

圧縮ファイルで出力

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください