ちゃんとカテゴリ分けされておりませんので、
記事をお探しならブログ内検索が便利です。
ご活用くださいませー+.(≧∀≦)゚+.゚
ブログ内検索
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
カテゴリー
最新コメント
[11/22 รูปพวงหรีดแสดงความเสียใจ]
[11/22 ดอกไม้ งานศพ]
[11/22 ช่อดอกไม้ตามสั่ง]
[11/22 ร้านดอกไม้บรรยากาศอบอุ่น]
[11/21 Robertret]
最新記事
(08/22)
(02/19)
(01/16)
(12/29)
(12/28)
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
以前にも投稿したのだけどざっくりしすぎていたのでちょっとだけ修正します。
※以前のは非公開にしまーす
MySQLのダンプ方法とリストア方法をいつも忘れるのでメモ。
■特定のテーブルをダンプする場合
mysqldump --skip-extended-insert [db name] [table name] -u[db user] -p > /path/to/filename
--skip-extended-insert
を指定することにより、INSERT文は冗長化します。
■特定のデータベースのテーブルを全てダンプする場合
mysqldump --skip-extended-insert [db name] -u[db user] -p > /path/to/filename
mysqldump --skip-extended-insert -B [db name] [db name] -u[db user] -p > /path/to/filename
■すべてのデータベースをダンプする場合
mysqldump --skip-extended-insert --all-databases -u[db user] -p > /path/to/filename
いろんなやり方があると思うけど、私はいつもINSERT文でリカバリ出来るように--skip-extended-insertオプションを指定します。
これは長いINSERT文ではロードが遅くなるのと引換に1行ずつコミットされるからです。
※ただし、AUTOCOMMITのON,OFFによる
業務などの実運用時のバックアップでは間違えてダンプを行ない現行のデータが損失してしまうのを防ぐため、
DROP構文は抜くように指定するのもいいと思います。
--skip-add-drop-table
もちろんオプションは多彩に用意されているのでこれだけではありません。
しかし、常にごちゃごちゃオプションを指定する必要があるわけではないと思いますので、ささっとダンプしたい方は参照してね。
ユーザ指定の「-u」とパスワード入力の「-p」は忘れやすいので気をつけよー
また、-pに続けて(スペースは入れない!)パスワードを直打ちすればインタラクティブなダンプを避けることができます。
※以前のは非公開にしまーす
MySQLのダンプ方法とリストア方法をいつも忘れるのでメモ。
■特定のテーブルをダンプする場合
mysqldump --skip-extended-insert [db name] [table name] -u[db user] -p > /path/to/filename
--skip-extended-insert
を指定することにより、INSERT文は冗長化します。
■特定のデータベースのテーブルを全てダンプする場合
mysqldump --skip-extended-insert [db name] -u[db user] -p > /path/to/filename
mysqldump --skip-extended-insert -B [db name] [db name] -u[db user] -p > /path/to/filename
■すべてのデータベースをダンプする場合
mysqldump --skip-extended-insert --all-databases -u[db user] -p > /path/to/filename
いろんなやり方があると思うけど、私はいつもINSERT文でリカバリ出来るように--skip-extended-insertオプションを指定します。
これは長いINSERT文ではロードが遅くなるのと引換に1行ずつコミットされるからです。
※ただし、AUTOCOMMITのON,OFFによる
業務などの実運用時のバックアップでは間違えてダンプを行ない現行のデータが損失してしまうのを防ぐため、
DROP構文は抜くように指定するのもいいと思います。
--skip-add-drop-table
もちろんオプションは多彩に用意されているのでこれだけではありません。
しかし、常にごちゃごちゃオプションを指定する必要があるわけではないと思いますので、ささっとダンプしたい方は参照してね。
ユーザ指定の「-u」とパスワード入力の「-p」は忘れやすいので気をつけよー
また、-pに続けて(スペースは入れない!)パスワードを直打ちすればインタラクティブなダンプを避けることができます。
オプション引用:MySQL Documentaion
-------------------------------------------------
--extended-insert, -e
複数のVALUESリストを含む、複数行INSERT構文を使用してください。
これにより、ダンプファイルサイズを小さくし、ファイルが再ロードされる際の挿入スピードがあがります。
--databases, -B
複数のデータベースをダンプします。
通常、mysqldumpはコマンドライン上の最初のアーギュメント名とそれに続く名をテーブル名として認識します。
このオプションを使用するうことで、名前のついたアーギュメントを全てデータベース名として認識します。
CREATE DATABASEやUSEステートメントは新しいデータベースの前の出力に含まれています。
--all-databases, -A
すべてのデータベース内のすべてのテーブルをダンプします。
これは--databasesオプションを使用してコマンドラインですべてのデータベース名を指定するのと同じです。
-------------------------------------------------
-------------------------------------------------
--extended-insert, -e
複数のVALUESリストを含む、複数行INSERT構文を使用してください。
これにより、ダンプファイルサイズを小さくし、ファイルが再ロードされる際の挿入スピードがあがります。
--databases, -B
複数のデータベースをダンプします。
通常、mysqldumpはコマンドライン上の最初のアーギュメント名とそれに続く名をテーブル名として認識します。
このオプションを使用するうことで、名前のついたアーギュメントを全てデータベース名として認識します。
CREATE DATABASEやUSEステートメントは新しいデータベースの前の出力に含まれています。
--all-databases, -A
すべてのデータベース内のすべてのテーブルをダンプします。
これは--databasesオプションを使用してコマンドラインですべてのデータベース名を指定するのと同じです。
-------------------------------------------------
PR
この記事にコメントする