mysqldumpを使って圧縮しておいたダンプファイルから一部のデータベースのみを抜きだす

   

 

■mysqldumpの--all-databasesオプションを付けて全データバックアップしたファイルから特定のデータベースだけ切り出す

全データベースの情報を、mysqldumpを使ってファイルにバックアップしていました。こちらの記事のようにmysqldumpの結果を直接gzipで圧縮してありました。

圧縮したファイルで30GB。その中の後半に記録されているデータベースのダンプファイルのみ取得したい要件が出てきました。ファイル容量がとても大きなバックアップデータです。

 

 

やりたかったことのまとめは以下のとおりです。

・圧縮されたファイルから、対象のデータベースのダンプファイルのみを切り出す

・切り出したものも、gzipで圧縮しておく。(ディスクがないの。。)

以下のコマンドで対応できました。

zcat バックアップファイル.gz | sed -n '/^-- Current Database: `データベース名をここに書く`/,/^-- Current Database: `/p' | gzip > 切り出した結果.gz

 

無事に切り出すことができました。た、助かった。。。

megane

megane

最近、個人事業主から法人へと進化しました。 エンジニア歴13年位です。PHPとかMysqlを使ってWebシステムを構築します。 Javaも書きます。 CakePHPも使います。 サーバのチューニングもごりごりやります。 あと、お肉と自動車が好きです。Twitterとか申請どうぞ。

 - mysql ,