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...