mysqlbinlog命令詳解 Part 9 MySQL備份策略

ibsbforever發表於2019-07-16

前情提要

實驗環境

此次實驗的環境如下

  • MySQL 5.7.25

  • Redhat 6.10

  • binlog模式採用row模式

前面的一些章節我們對mysqldump常用命令進行了講解

這個專題的內容為mysqlbinlog命令的詳解

mysqlbinlog是MySQL中用來處理binlog的工具

這節內容講使用mysqldump備份MySQL

下節使用mysqlbinlog 恢復MySQL

1.  備份策略

首先我們設定一個備份策略

1.1 完全備份

首先我們每週日零點進行一次資料庫的全備

mysqldump -h127.0.0.1 -usystem -p123456 --single-transaction  --flush-logs
 --set-gtid-purged=OFF  --all-databases   --master-data=2 --triggers --events --routines >/tmp/backup_sunday_0_AM.sql

上述命令備份了所有的資料庫,包括觸發器,儲存過程等

這裡可以加上--flush-logs強制重新整理日誌

1.2 增量備份

其次我們除了週日,每日零點對資料庫進行增量備份

採用的方法是進行二進位制日誌的備份

備份前重新整理下日誌

也可直接拷貝

具體介紹請看上期內容

mysqladmin -S /data/mysql/data/mysql.sock  -usystem -ppassword flush-logs
mysqlbinlog --read-from-remote-server --host  11.12.14.29 --user system --password  --port 3306  --protocol=tcp   --raw mysql-bin.000001 mysql-bin.000002 mysql-bin.000003  --result-file=/tmp/

這樣我們就有了一個完整的備份計劃

2. 參考連結

https://dev.mysql.com/doc/refman/5.7/en/backup-and-recovery.html

好了 今天的內容就說到這裡,下節再見


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28413242/viewspace-2650723/,如需轉載,請註明出處,否則將追究法律責任。

相關文章