日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql的增量备份方法_Mysql 增量备份,全部备份实现方法以及自动化脚本

發布時間:2024/1/23 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql的增量备份方法_Mysql 增量备份,全部备份实现方法以及自动化脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前情摘要

自己作死干了一件特別蠢的事情(具體略)

然后開始研究如何進行增量備份

增量備份

原理

mysql 有個 binlog 的功能,會記錄所有的用戶的操作,可以依靠這個,配合全備份,將數據庫回滾到某一個特殊的時刻。hhh

簡單來說,比如我們每周做一次全備份,每天做一次增量備份,當數據庫發生問題的時候,我們就可以先將數據庫回滾到上一周我們的全備份的時間,然后再通過每天的增量備份(其實就是模擬所有的數據庫操作,全部執行一遍),將數據恢復到我們想要的時間點。

配置

mysql 的 binlog 功能需要在配置文件中打開,在 my.cnf 或者 mysqld.cnf 中添加以下幾行:server-id = 1

# binlog存放路徑

log_bin = /var/log/mysql/mysql-bin.log

# binlog記錄的格式,有row、statement、mixed三種選項

binlog-format = row

# binlog寫緩沖區設置大小,由于是內存,寫速度非常快,可以有效提高binlog的寫效率,如果數據庫中經常出現大事務,可以酌情提高該參數。

binlog_cache_size = 32m

# 最大緩存區大小

max_binlog_cache_size = 512m

# binlog文件最大的大小

max_binlog_size = 1000m

# 需要備份的數據庫名,如果備份多個數據庫,重復設置這個選項即可

binlog-do-db=game

binlog-do-db=platform

# 不需要備份的數據庫,如果備份多個數據庫,重復設置這個選項即可

binlog-ignore-db=

重啟mysql服務,在對應的文件夾下(這里是/var/log/mysql)會看到 mysql-bin.000001 和 mysql-bin.index 兩個文件,第一個就是我們需要的 binlog 文件,里面會記錄我們的操作,第二個負責記錄 binlog 的名稱,可以用來判斷當前最新的 binlog 是哪一個

一些相關的操作

開啟了binlog之后,就可以進行一些嘗試了,可以先去數據庫做一些修改操作。(因為binlog的格式選擇的是row,所以select語句是不會被記錄的)mysql> UPDATE ....

mysql> DELETE ....

// 查看當前log的備份情況

mysql> show master logs;

// 查看最新的備份文件的情況

mysql> show master status;

// 將當前的log寫入磁盤,并創建新的binlog文件

mysql> flush log;

binlog 文件可以使用 mysqlbinlog 命令查看// 查看binlogfile即可看到這份log中記錄的數據庫操作

mysqlbinlog mysql-bin.000011 > /tmp/binlogfile

// 獲取指定位置范圍的記錄

mysqlbinlog --start-position=1285 --stop-position=1681 mysql-bin.000011 > /tmp/binlogfile

// 獲取指定時間范圍內的記錄,常用

mysqlbinlog --start-date="2012-10-15 16:30:00" --stop-date="2012-10-15 17:00:00"

全備份

全備份沒什么好說的,mysqldump一條命令就可以了mysqldump -uroot -ppwd --quick --all-databases --flush-logs --delete-master-logs --single-transaction > $dumpFile

注意里面的一些參數,尤其是flush-logs和single-transaction兩個參數,建議開啟

自動化腳本

全備份#!/bin/bash

# 全備份路徑

backDir=/var/log/mysql/backup/weekly

# 日志文件

logFile=/var/log/mysql/backup/bak-all.log

# 獲取當前時間,用于命名

nowDate=`date +%Y%m%d`

beginTime=`date +"%Y%m%d %H:%M:%S"`

# 進入備份文件夾

cd $backDir

dumpFile=$nowDate.sql

dumpFileTgz=$nowDate.sql.tgz

# mysqldump 導出所有數據庫

echo dumping...

mysqldump -uroot -ppwd --quick --all-databases --flush-logs --delete-master-logs --single-transaction > $dumpFile

echo compressing...

# 壓縮文件

tar czvf $dumpFileTgz $dumpFile

rm $dumpFile

endTime=`date +"%Y%m%d %H:%M:%S"`

echo begin:$beginTime end:$endTime $dumpFileTgz succ >> $logFile

# 清楚之前的增量備份

cd $backDir/../daily

rm -f *

增量備份腳本#!/bin/bash

# 增量備份存放路徑

backDir=/var/log/mysql/backup/daily

# binlog存放路徑

binDir=/var/log/mysql/

# 日志文件

logFile=/var/log/mysql/backup/bak-daily.log

# binlog.index 文件路徑

binIndex=/var/log/mysql/mysql-bin.index

# 將當前所有的日志寫到磁盤,會新建一個00000*的binlog文件

mysqladmin -uroot -phhxxttxs flush-logs

# 獲取當前有幾條binlog文件(需要保證是從1開始的)

count=`wc -l $binIndex | awk '{print $1}'`

nextNum=0

for file in `cat $binIndex`

do

# 獲取文件名,去除文件夾名

base=`basename $file`

# 遍歷每個binlog文件,如果是最新的不做操作,否則備份

nextNum=`expr $nextNum + 1`

if [ $nextNum -eq $count ]

then

echo $base skip! >> $logFile

else

dest=$backDir/$base

# file already exist

if(test -e $dest)

then

echo $base exist! >> $logFile

else

cp $binDir/$base $backDir

echo $base copyed >> $logFile

fi

fi

done

echo `date +"%Y%m%d %H:%M:%S"` Backup succ! >> $logFile

做一下定時就好了

具體恢復操作

當發現數據丟失時確認丟失數據的開始時間

找到距離這個時間最近的全量備份

mysql -uuser -p < all.sql

依次運行從全備份到丟失時間之間的增量備份

mysqlbinlog mysql-bin.000123 –start-date=”” –end-date=”” > /tmp/tmpfile

mysql -uuser -p < /tmp/tmpfile

通過以上,就可以將數據還原到需要的還原點。

記得定期查看備份的log文件,以防出現問題,全備份需要定時清理

總結

以上是生活随笔為你收集整理的mysql的增量备份方法_Mysql 增量备份,全部备份实现方法以及自动化脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人午夜视频网站 | 国产精品久久久久久久妇 | 三上悠亚在线一区二区 | 韩日中文字幕 | 成年人在线免费观看 | 日韩视频一二三 | 日本激情视频在线观看 | 欧美视频在线一区 | 国产日韩欧美高清 | 成人自拍视频在线 | 欧美日韩国产成人在线 | 国产欧美又粗又猛又爽 | 丝袜+亚洲+另类+欧美+变态 | xxx日本少妇 | 天天做天天摸天天爽天天爱 | 嫩草国产精品 | 色姐| 日韩免费小视频 | 亚洲自拍中文字幕 | 天天色影 | 综合性色 | 亚洲欧洲国产视频 | 人妖天堂狠狠ts人妖天堂狠狠 | 中文字幕一区二区人妻电影丶 | 老湿机69福利区午夜x片 | 日本国产三级xxxxxx | 国外成人性视频免费 | 黄色三级三级三级三级 | 久久96视频 | 大伊人久久| 亚洲欧美日韩在线一区二区 | 亚洲一区二区日韩 | 疯狂揉花蒂控制高潮h | 亚洲自拍av在线 | 日韩欧美福利视频 | 免费日韩毛片 | 爱爱福利社 | 狠狠操伊人 | 岛国av不卡| 国产资源第一页 | 久久黄色一级片 | 波多野结衣不卡视频 | av黄色成人| 91视色| 亚洲美女高潮久久久 | 国产理论影院 | 在线99| 成人av在线资源 | 懂色av一区二区三区四区五区 | 亚洲AV无码乱码国产精品色欲 | 精品国产毛片 | 视频在线观看91 | 欧美日韩一 | 日韩午夜视频在线观看 | 亚洲av网址在线 | 色哟哟国产精品色哟哟 | 日本在线一本 | 中文在线a天堂 | 玖玖五月 | 人妻精品一区 | 五月天综合激情 | ass日本寡妇pics | 日本女人hd| www视频在线观看 | 欧美高清v| 国产又色又爽无遮挡免费 | 一本色道久久综合亚洲 | 日本乱论视频 | 久久激情五月 | 午夜影院试看 | 日产电影一区二区三区 | 在线免费观看av网址 | 成人免费看类便视频 | 色欲一区二区三区精品a片 在线观看黄网站 | 亚洲aaaaa特级| 黄色污小说 | www.国产一区二区三区 | 91高清网站| 国产精品人人做人人爽人人添 | 操碰人人| 国产女人在线观看 | 波多一区 | 狂野少女电影在线观看国语版免费 | jizz国产在线 | 色男人的天堂 | 日本55丰满熟妇厨房伦 | 亚洲精品高清无码视频 | 在线天堂视频 | 免费一级做a爰片久久毛片潮 | 久久久久亚洲av片无码下载蜜桃 | 免费a级黄色片 | 秋霞一区 | 日韩午夜毛片 | 黄色网免费看 | 日本黄色天堂 | 在线观看免费视频a | 男生和女生一起搞鸡 | 久久久久久免费精品 | av中文在线观看 |