mysql之通過日誌的定時備份和恢復(中)

2021-07-23 05:48:55 字數 1310 閱讀 8765

mysql日誌備份一般遵循一周進行一次全量備份,一天進行一次增量備份。

增量備份,必須要開啟mysql的binlog配置,需要在mysql的配置檔案(my.cnf)開啟binlog日誌,同時用mysqlbinlog命令進行恢復

第一步:開啟日誌

vi /usr/my.cnf

#記錄除select語句外的所有sql語句到bin日誌中

log_bin=/logs/mysql/bin/mysql_

#bin日誌的過期清理時間

#expire_logs_days=10

binlog-do-db=test

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

重啟mysql資料服務

# service mysql restart

注意,如果日誌配置後不能啟動正常,多半是因為linux的許可權導致,所以請參考我的【mysql日誌配置】 這篇文章中的修改檔案所有者部分,如下圖

第二步:資料還原

當重啟成功後,我們就可以用mysqllogbin進行還原了。

具體命令如下:

mysqlbinlog --start-position=306 --stop-position=2849 --database=db_back ./mysql_.000001 |mysql -uroot -proot -p43093
此處的start-position表示需要執行還原的起點位置,--stop-position表示是結束位置,如果為檔案末尾,此處可以省略。

第三步:補充說明

1. start-position和stop-position怎麼檢視,需要對第一步中 的二進位制日誌進行檢視,具體命令如下:

mysql>show variables like '%binlog%';

mysql>show binary logs;

#>cat  /usr/my.cnf

查詢二進位制檔案的路徑

2.檢視二進位制bin檔案

mysqlbinlog mysql_.000004

3.將二進位制檔案轉換為sql檔案

mysqlbinlog mysql_000004 > mysql_temp.sql;

5.生成新的bin日誌

mysqladmin -uroot -p flush-logs
此方法執行,會新產生乙個二進位制的bin日誌。主要用於全量備份後進行日誌刷

mysql之通過日誌定時備份和恢復(上)

1.利用mysqldump命令進行手動備份和手動恢復 mysqldump uroot proot p3306 default character set utf8 opt test tmp test date y m d h m sql 2.利用直接在mysql終端進行匯入 mysql source...

mysql定時備份指令碼 MySql定時備份指令碼

最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...

nginx定時備份日誌

思路 用shell指令碼加linux定時任務來備份日誌 首先在進入nginx目錄 cd usr local nginx 建立乙個logdata目錄以後的指令碼和備份的日誌都放在這裡 mkdir logdata進入logdata目錄編輯建立建立乙個runlog.shshell指令碼 cd logdat...