mysqldump 命令完全備份與增量備份

jopen 10年前發布 | 39K 次閱讀 mysqldump MySQL 數據庫服務器

[ 必備配置 ]

執 行增量備份的前提條件是MySQL打開log-bin日志開關,例如在my.ini或my.cnf中加入 log-bin=C:/Program Files/MySQL/MySQL Server 6.0/Data/mysql-bin “log-bin=”后的字符串為日志記載目錄,一般建議放在不同于mysql數據目錄的磁盤上。

[ 完全備份]

假 定星期日下午1點執行完全備份,適用于MyISAM存儲引擎。 mysqldump --lock-all-tables --flush-logs --master-data=2 -u root -p test > backup_sunday_1_PM.sql 對于InnoDB 將--lock-all-tables替換為--single-transaction --flush-logs 為結束當前日志,生成新日志文件 --master-data=2 選項將會在輸出SQL中記錄下完全備份后新日志文件的名稱,用于日后恢復時參考,例如輸出的備份SQL文件中含有: -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=106;

其他說明:

     如果mysqldump加上--delete-master-logs 則清除以前的日志,以釋放空間。但是如果服務器配置為鏡像的復制主服務器,用mysqldump --delete-master-logs刪掉MySQL二進制日志很危險,因為從服務器可能還沒有完全處理該二進制日志的內容。在這種情況下,使用 PURGE MASTER LOGS更為安全。

[ 增量備份 ]

 每日定時使用 mysqladmin flush-logs來創建新日志,并結束前一日志寫入過程。并把前一日志備份,例如上例中開始保存數據目錄下的日志文件 mysql-bin.000002 , ...

 [ 從備份中恢復 ]

* 恢復完全備份 mysql -u root -p < backup_sunday_1_PM.sql

* 恢復增量備份 mysqlbinlog mysql-bin.000002 ... | mysql -u root -p 注意此次恢復過程亦會寫入日志文件,如果數據量很大,建議先關閉日志功能。


來自:http://www.ej38.com/showinfo/mysql-187087.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!