MySQL
よく使うオプション一覧 [#oe1ca594]
|オプション|短縮|値| |–user |-u|ログインユーザー| | –password|-p|ログインパスワード| |–host|-h|ホスト名 ※省略 localhost| |–port|-P|ポート ※省略 3306| |–verbose|-v|動作の詳細| ||-t|CREATE TABLE,DROP TABLE文を省略|
対象 [#d9b1dd32]
|オプション|短縮|値| |–all-databases|-A|全データベース| |–database|-B|特定のデータベース 後にデータベースを指定|
トランザクション/ロック [#xb485979]
|–single-transaction||シングルトランザクションでdumpを取得できるので、一貫性が取れる| |–lock-all-tables|-x|全テーブルをロックする|
その他 [#k62118a5]
|–ignore-table=DB名.テーブル名|特定のテーブルを除外してdump| |–order-by-primary|プライマリキーでソート。dumpには時間がかかるようになるが、リストアが高速化する| |–hex-blob|これを指定しないと default-character-set がSJIS系の場合エスケープ処理に失敗し、バイナリデータが壊れてしまう場合があります。|
バイナリログを使用している場合 [#h95a8c68]
|–flush-logs|dumpを実行する前にログを書き込む。|
使い方例 [#hed75dec]
mysqldump -u root -p -v --single-transaction -A > mysqldump.all.sql
全データベースをシングルトランザクションでdump取得
mysqldump -u root -p -v --single-transaciton -B testdatabase > testdatabase.sql
特定のデータベースをシングルトランザクションでdump取得
mysqldump -u root -p -v --single-transaction -A | gzip > mysqldump.all.`date +¥%w`.gz > /var/log/mysqldump.`date +¥w`.log 2>&1
全てのデータベースをシングルトランザクションで詳細をログに出力しながら、gzipで固めてdump
mysqldump -u root -p --ignote-table=hogeDB.hogetable1 --ignore-table=hogeDB.hogetable2 hogeDB > mysqldump.sql
特定テーブルhogetable1とhogetable2を除外してdump
参考URL:http://www.risewill.co.jp/blog/archives/195
※上記サイトはとてもよくまとめられています。
参考URL:http://oinume.hatenablog.com/entry/wp/292