浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【mysqldump】バックアップ対象のテーブルをワイルドカードで指定する方法

今回は、テーブル名に特定のプレフィックスがついているテーブルのみのバックアップなど、テーブル名に特定の文字列が含まれているものをバックアップしたくなった時のTipsをご紹介します。

自分も先日、同様のケースにあったため、方法を調べていたところ、次の記事が見つかりました。

Mysqlワイルドカードを用いて指定したテーブルのみdumpする方法Tomorrow’s Chance

こちらの記事を参考にバックアップを取得してみました。

例)

mysql -N -u[ユーザー名] -p [DB名] -e"show tables like 'hoge_%';" | xargs mysqldump -u{ユーザー名} -p -d {DB名}> ~/hogedump.sql

なお、自分の場合はMySQL8系で試したのですが、結果にヘッダ部分が含まれてしまうため、上記のコマンドだとエラーになってしまうケースがありました。そこで、次のようにしてみました。

例)

mysql -N -u[ユーザー名] -p [DB名] -e"show tables like 'hoge_%';" |
grep -v 'Tables_in_DB名 | xargs mysqldump -u{ユーザー名} -p -d {DB名}> ~/hogedump.sql

※検索条件や日本語部分、出力先ファイル名などは適宜書き換えてください。

上記のようにすることで、ヘッダ部分を省いてデータ部分のみを取り出すことができます。

特定のプレフィックスのあるテーブルのみバックアップを行いたい際は、是非参考にしてみてください。

  • この記事いいね! (0)