MySQL
よく使うオプション一覧†
オプション | 短縮 | 値 |
--user | -u | ログインユーザー |
--password | -p | ログインパスワード |
--host | -h | ホスト名 ※省略 localhost |
--port | -P | ポート ※省略 3306 |
--verbose | -v | 動作の詳細 |
| -t | CREATE TABLE,DROP TABLE文を省略 |
オプション | 短縮 | 値 |
--all-databases | -A | 全データベース |
--database | -B | 特定のデータベース 後にデータベースを指定 |
トランザクション/ロック†
--single-transaction | | シングルトランザクションでdumpを取得できるので、一貫性が取れる |
--lock-all-tables | -x | 全テーブルをロックする |
その他†
--ignore-table=DB名.テーブル名 | 特定のテーブルを除外してdump |
--order-by-primary | プライマリキーでソート。dumpには時間がかかるようになるが、リストアが高速化する |
--hex-blob | これを指定しないと default-character-set がSJIS系の場合エスケープ処理に失敗し、バイナリデータが壊れてしまう場合があります。 |
バイナリログを使用している場合†
--flush-logs | dumpを実行する前にログを書き込む。 |
使い方例†
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