■mysqldumpの–all-databasesオプションを付けて全データバックアップしたファイルから特定のデータベースだけ切り出す
全データベースの情報を、mysqldumpを使ってファイルにバックアップしていました。こちらの記事のようにmysqldumpの結果を直接gzipで圧縮してありました。
圧縮したファイルで30GB。その中の後半に記録されているデータベースのダンプファイルのみ取得したい要件が出てきました。ファイル容量がとても大きなバックアップデータです。
やりたかったことのまとめは以下のとおりです。
・圧縮されたファイルから、対象のデータベースのダンプファイルのみを切り出す
・切り出したものも、gzipで圧縮しておく。(ディスクがないの。。)
以下のコマンドで対応できました。
zcat バックアップファイル.gz | sed -n '/^-- Current Database: `データベース名をここに書く`/,/^-- Current Database: `/p' | gzip > 切り出した結果.gz
無事に切り出すことができました。た、助かった。。。