OPTIONS
- --all-databases 備份所有庫(kù)
- --databases db1,db2.... 備份指定一到多個(gè)數(shù)據(jù)庫(kù):
- db 備份單個(gè)數(shù)據(jù)庫(kù)中的所有目標(biāo)對(duì)象(不會(huì)自動(dòng)創(chuàng)建庫(kù),只是備份庫(kù)中的表、代碼、存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù)、觸發(fā)器以及事件調(diào)度器等)
- db table1,table2... 備份指定的表
MyISAM存儲(chǔ)引擎:最多支持溫備,備份時(shí)要鎖定所有要備份表(若是備份哪個(gè)表鎖定哪個(gè)表,還原時(shí)各表時(shí)間點(diǎn)不一致)
- -x, --lock-all-tables 鎖定所有庫(kù)的所有表,讀鎖
- -l, --lock-tables 鎖定指定庫(kù)所有表
InnoDB存儲(chǔ)引擎:支持溫備和熱備;
- --single-transaction 創(chuàng)建一個(gè)事務(wù),基于此快照?qǐng)?zhí)行備份;必須加上這個(gè)選項(xiàng)才支持熱備
- 在REPEATABLE-READ隔離級(jí)別,mysqldump連進(jìn)數(shù)據(jù)庫(kù)時(shí)看到的視圖是一致的,都是啟動(dòng)事務(wù)那一刻的狀態(tài)。在這種情況下,啟動(dòng)一個(gè)事務(wù),備份的所有數(shù)據(jù)都是這個(gè)時(shí)間點(diǎn)的。
其它選項(xiàng):
- -R, --routines 備份指定庫(kù)的存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù);
- --triggers 備份指定庫(kù)的觸發(fā)器
- -E, --events 備份事件調(diào)度器
- --master-data[=#] 在備份的目標(biāo)文件中記錄一個(gè)CHANGE MASTER TO語(yǔ)句,記錄備份的那一刻處于哪個(gè)二進(jìn)制文件的哪個(gè)位置。
- mysqldump導(dǎo)出數(shù)據(jù)時(shí),當(dāng)這個(gè)參數(shù)的值為1的時(shí)候,mysqldump出來(lái)的文件就會(huì)包括CHANGE MASTER TO這個(gè)語(yǔ)句,CHANGE MASTER TO后面緊接著就是file和position的記錄,在slave上導(dǎo)入數(shù)據(jù)時(shí)就會(huì)執(zhí)行這個(gè)語(yǔ)句,salve就會(huì)根據(jù)指定這個(gè)文件位置從master端復(fù)制binlog。默認(rèn)情況下這個(gè)值是1。
- 記錄下來(lái)一個(gè)注釋的CHANGE MASTER TO 語(yǔ)句,僅為我們參考使用,不打算用它來(lái)設(shè)定從服務(wù)器復(fù)制線程的啟動(dòng)通常就設(shè)置為2。
- --flush-logs 鎖定表完成后,即進(jìn)行日志刷新操作;