drop tableを入れずにダンプ

mysqldumpで、drop tableを入れずにダンプするコマンドを解説する。

コマンド

コマンドは下記のとおりである。 --skip-add-drop-tableがポイントだ。

具体例

少し具体的に書こう。DB情報等が下記であったとする。

項目
DBユーザ名 pudding
DBパスワード qwerty123456
DB名 zipcode
ダンプファイル名 no-drop-table.sql

このDB情報等を反映すると、下記のように書くことになる。

出力

出力は以下のようになる。見ると分かる通り、drop table文が出力されていない。

通常出力との違い

上記の出力SQLは少々長いので、通常出力と違う部分だけ抜粋して下記に示す。通常であればcreate table文の直前に出力されるdrop table文がない。

通常であれば下記のようにdrop table文が出力される。

用途

用途としては、作業ミス防止が挙げられる。うっかりdrop table文を含むダンプファイルを本番環境で実行してしまうと、大切なデータを失ってしまう危険がある。それを回避するために、「ダンプ時には必ず--skip-add-drop-tableを付ける」という運用ルールにするのだ。そうすると、間違ってテーブルを削除してしまう可能性を低くできる。

create table文のカスタム


コメントを残す

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

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