Open ucan-lab opened 6 years ago
$ DB_NAME=db_name $ BK_NAME=${DB_NAME}_`date "+%Y%m%d%H%M%S"`.sql.gz $ mysqldump --quote-names --skip-lock-tables --single-transaction --flush-logs --master-data=2 $DB_NAME | gzip > $BK_NAME
--quote-names
--opt
--lock-tables
--skip-lock-tables
--single-transaction
--flush-logs
--master-data=2
--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset
CHANGE MASTER TO
--lock-all-tables
=2
参考リンク よく使うmysqldumpのオプションと使用例
mysqldump > dump.sql.gz
--quote-names
で識別子をバックティックで囲む--opt
が適用する--lock-tables
を--skip-lock-tables
で打ち消すことでテーブルロックを防ぐ--single-transaction
でダンプを1トランザクション内で行うことで、テーブルをロックせずとも整合性を保つ--flush-logs
でバイナリログをフラッシュして新しいファイルを作る--master-data=2
で新しいバイナリログの開始点をコメントとして出力するよく使うオプション一覧
--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset
と同じ。デフォルトでこのオプションは有効。--single-transaction
を使った方が速い。--single-transaction
と--lock-tables
オプションはオフになる。CHANGE MASTER TO
句を含める。これによってレプリケーションのスレーブサーバがマスターサーバのバイナリログの読み取り開始ポイントを知ることが出来る。このオプションは--lock-all-tables
を オンにする。ただし、--single-transaction
がオンの場合はそうはならず、代わりにダンプ開始時に一瞬だけグローバルリードロックされる。=2
を付けた場合はバイナリログの読み出し開始位置をコメントとして出力する。これは人間が参考のために見たいときに使う。