障害発生時に既存のデーブルが残っていても、DROPしてからCREATE
テーブルを行いデータをリストアするため。(リストア先のDBはOver Writeされる)
[root@colinux ~]# mysqldump –add-drop-table –databases test > /tmp/backup_test.sql -u root -p
Enter password:
[root@colinux ~]# ls -l /tmp/backup_test.sql
-rw-r–r– 1 root root 3360 2009-02-06 11:19 /tmp/backup_test.sql
[root@colinux ~]#
※ default設定なので、特にオプションは付けなくて良い。
–skip-optしない限り、-optはdefaultで有効(add-drop-tableも有効)
※ 全てのDBをmysqldumpする場合は、
「mysqldump –all-databases > ファイル.sql 」
※–single-transaction
[root@colinux tmp]# mysqldump –databases –single-transaction TEST > /tmp/backu
p_single_tran_test.sql -u root -p
Enter password:
[root@colinux tmp]# ls -l /tmp/backup_single_tran_test.sql
-rw-r–r– 1 root root 2891 2009-02-06 12:38 /tmp/backup_single_tran_test.sql
[root@colinux tmp]#
このオプションはサーバからデータをダンプする前にBEGIN SQLステートメント
を発行します。InnoDBといったトランザクションテーブルに対してのみ便利です。
なぜなら、アプリケーションをブロックせずに、BEGINが発行された当時の
データベースの状態をダンプするからです。
このオプションを使用しているときは、一定の状態でダンプされるのは
InnoDBテーブルのみだということを留意してください。
例えば、このオプションを使用中にダンプされたMyISAMやMEMORYテーブル
は状態が変化する可能性があります。