MySQL備份類型及常用備份工具

1、備份類型
cold,warm,hot
consistentinconsistent一致,非一致
logical,physical邏輯,物理
full,increamenta,differential完全,增量,差異


2、Oracle的熱備方式:
熱備時,允許所有讀寫,但所有修改了的數據都存放在redo-log日誌中(二進制文件,有先後順序)而先不放入數據庫。

undo-log可以讓數據精確回到過去某個時刻,滿足生產需要,可靠性高。


3、MySQL常用備份工具
1)mysqldump ALL     WARM 邏輯溫備,可手動加鎖
INNODB HOT
2)ibbackup INNODB HOT 物理備份
ALL WARM

注:XtroDB與INNODB兼容,類似,用於取代INNODB,熱備開源。需要編譯mysql並整合XtroDB,替代INNODB

3)snapshot(LVM,ZFS) ALL ALMOST 物理HOT

4)mysqlhotcopy 僅MYISAM MOSTLY COLD (LVM,snapshot)

5)BACKUP ALL HOT mysql自帶邏輯備份命令,用的少

6)SELECT INTO OUTFILE 邏輯備份

7)tar,cp 冷備



4、案例:要求使用溫備份方式備份數據庫mydb,其使用MyISAM引擎。
1)分析:
是否能離線,能離線則離線冷備;不能離線,則使用warm備份(能寫操作延遲)或hot備份(不能寫操作延遲)
2)
mysqldump -u -h -p --all-databases  --databases   
--events備份事件
--flush-logs 在數據庫導出之前先執行FLUSH LOGS
--lock-all-tables 保持一致性,常與--lock-all-tables合用
--lock-tables 鎖定某些表
--master-data=n  (指定備份點:log fiel name and position)
--opt   (PITR 精確恢復,時間點恢復)
--routines (備份存儲過程、存儲函數)
--triggers (備份觸發器)
--single-transaction (爲事務性數據庫提供備份)
--where (指定過濾條件,只備份符合條件數據)

3)
mysqldump -uroot  -p mydb > /root/mydb-`date +"%F"`.sql

mysqldump -uroot  -p --flush-logs --events --routines --triggers mydb > /root/mydb.sql  備份事件等

mysqldump -uroot  -p --databases mydb dnsdata > /root/mydb.sql  同時備份兩個數據庫

mysqldump -uroot  -p mydb course > /root/mydb.sql 備份表course


查看備份文件可以看到如:CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000008',MASTER_LOG_POS=106;語句
即:指定備份點:log fiel name and position)



4、MySQL日誌
錯誤日誌:/datadir,--log-error 服務器啓動關閉信息,重要錯誤信息
一般查詢日誌
慢查詢日誌
二進制日誌,PITR


查看所有日誌:SHOW BINARY LOGS;
SHOW GLOBAL VARIABLES LIKE '%bin%';

SHOW BINLOG EVENTS;

SHOW BINLOG EVENTS IN 'mysql-bin.000006'\G;

SHOW BINLOG EVENTS IN 'mysql-bin.000006' FROM 950;

mysqlbinlog mysql-bin.000006   查看binlog,不用進mysql




**備份之後一定要試試備份文件是否可以備份。
**有問題可以查看錯誤日誌......err
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章