最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql增量備份及斷點(diǎn)恢復(fù)腳本實(shí)例

 更新時(shí)間:2018年09月05日 08:32:19   作者:藍(lán)月CC  
生產(chǎn)環(huán)境中在mysql中誤操作是非常正常的,所以就需要用到mysql的增量備份恢復(fù)。增量備份是我們經(jīng)常用到的,它可以指定某個(gè)誤操作的時(shí)間以及位置點(diǎn)進(jìn)行數(shù)據(jù)恢復(fù),更加準(zhǔn)確的恢復(fù)我們想要還原的數(shù)據(jù)。

簡(jiǎn)介

增量備份是指在一次全備份或上一次增量備份后,以后每次的備份只需備份與前一次相比增加或者被修改的文件。這就意味著,第一次增量備份的對(duì)象是進(jìn)行全備后所產(chǎn)生的增加和修改的文件;第二次增量備份的對(duì)象是進(jìn)行第一次增量備份后所產(chǎn)生的增加和修改的文件,如此類推。

目的

解決完全備份中時(shí)間長(zhǎng)、恢復(fù)慢的問(wèn)題,采取了增量備份

特點(diǎn)

優(yōu):無(wú)重復(fù)數(shù)據(jù),備份量不大,時(shí)間短
缺:需要上次完全備份及完全備份后的增量備份才能恢復(fù),需對(duì)增量備份逐個(gè)反復(fù)恢復(fù),操作繁瑣

實(shí)現(xiàn)方式

通過(guò)mysql的二進(jìn)制日志間接實(shí)現(xiàn)增量備份:
二進(jìn)制日志保存了所有更新或可能更新的數(shù)據(jù)
二進(jìn)制日志在mysql啟動(dòng)時(shí)開始記錄,且會(huì)重新創(chuàng)建新的日志文件
需定時(shí)執(zhí)行flush logs方法重新創(chuàng)建日志,生成二進(jìn)制文件序列

實(shí)驗(yàn)環(huán)境:

安裝了mysql5.7數(shù)據(jù)庫(kù)的一臺(tái)centos7虛擬機(jī)

操作過(guò)程:

一、增量備份

1、在配置文件中添加二進(jìn)制日志

vim /etc/my.cnf
[mysqld] #在此模塊下添加
log-bin=mysql-bin #二進(jìn)制日志

2、重啟服務(wù),并查看二進(jìn)制日志

systemctl restart mysqld.service
cd /usr/local/mysql/data/
mysqlbinlog --no-defaults mysql-bin.000001


3、在數(shù)據(jù)庫(kù)自由創(chuàng)建數(shù)據(jù)庫(kù)、表,作為實(shí)驗(yàn)?zāi)0?br />


4、對(duì)school數(shù)據(jù)庫(kù)進(jìn)行完全備份

mysqldump -uroot -pabc123 school > /opt/school.sql

5、刷新日志,生成新的日志,注意:之前數(shù)據(jù)庫(kù)的操作寫入編號(hào)為000001的日志中,新生成的000002的日志為空

mysqladmin -uroot -pabc123 flush-logs #刷新日志
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000001 #查看000001日志
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 #查看000002日志
#--base64-output=decode-rows -v:避免文件中亂碼,前面的查看命令也可以使用



6、新添加mysql數(shù)據(jù)庫(kù)操作,然后刷新日志,進(jìn)行增量備份

use school;
mysql>indert into info (id,name,score) values (3,'aaa',78);
mysql>delete from info where name='tom'; #誤操作
mysql> insert into info (id,name,score) values (4,'bbb',64);
mysqladmin -uroot -pabc123 flush-logs #刷新日志,生成000003
#此次增量備份已記錄到000002日志文件中



7、刪除info表

mysql -uroot -pabc123 -e 'use school;drop table info;'

8、恢復(fù)完全備份,然后恢復(fù)增量備份

mysql -uroot -pabc123 school < /opt/school.sql #完全備份還原

mysqlbinlog --no-defaults mysql-bin.000002 | mysql -uroot -p


那么,此處暴露出一個(gè)問(wèn)題,如果出現(xiàn)誤操作,還原備份時(shí)就會(huì)出現(xiàn)錯(cuò)誤,并不能實(shí)現(xiàn)理想的備份,達(dá)到真正的目的。此時(shí),就需要斷鏈恢復(fù)(屬于恢復(fù)增量備份的特殊用法),即在還原時(shí)只恢復(fù)正確的數(shù)據(jù)庫(kù)操作。

二、斷鏈恢復(fù)

在操作斷鏈恢復(fù)前,需要還原到未進(jìn)行增量備份還原的狀態(tài),如圖


基于時(shí)間點(diǎn)

2018-09-04 16:43:52 錯(cuò)誤操作時(shí)間 (開頭加載到此時(shí)間點(diǎn)結(jié)束)
2018-09-04 16:44:32 正確操作時(shí)間 (從此時(shí)間點(diǎn)再次開始加載) 從此時(shí)間點(diǎn)再次開始加載

mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 #查看000002日志


mysqlbinlog --no-defaults --stop-datetime='2018-09-04 16:43:52' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p
mysqlbinlog --no-defaults --start-datetime='2018-09-04 16:44:32' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p


基于位置點(diǎn)

at 565 上一次正確執(zhí)行位置 --stop-position
at 667 下一次正確執(zhí)行位置 --start-position

mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 #查看000002日志

mysqlbinlog --no-defaults --stop-position='565' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p
mysqlbinlog --no-defaults --start-position='667' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -p

相關(guān)文章

  • MySQL實(shí)現(xiàn)樂(lè)觀鎖的方式詳解

    MySQL實(shí)現(xiàn)樂(lè)觀鎖的方式詳解

    在 MySQL 中,可以通過(guò)使用樂(lè)觀鎖來(lái)實(shí)現(xiàn)并發(fā)控制,以避免數(shù)據(jù)沖突和并發(fā)更新問(wèn)題,樂(lè)觀鎖是一種樂(lè)觀的思想,它假設(shè)并發(fā)操作不會(huì)導(dǎo)致沖突,只有在提交更新時(shí)才會(huì)檢查是否發(fā)生沖突,本文給大家介紹了Mysql如何實(shí)現(xiàn)樂(lè)觀鎖,需要的朋友可以參考下
    2023-09-09
  • MySQL延時(shí)復(fù)制庫(kù)方法詳解

    MySQL延時(shí)復(fù)制庫(kù)方法詳解

    我相信很多人都遭遇過(guò)MySQL主從復(fù)制延遲的問(wèn)題,處理方案基本上就是你能搜索到的那些,那么我今天卻要說(shuō)說(shuō)如何讓MySQL延遲復(fù)制。對(duì)于剛組建的團(tuán)隊(duì)來(lái)說(shuō),這可能會(huì)救了你的項(xiàng)目
    2020-02-02
  • MySQL系列之十五 MySQL常用配置和性能壓力測(cè)試

    MySQL系列之十五 MySQL常用配置和性能壓力測(cè)試

    今天給大家?guī)?lái)一篇教程關(guān)于MySQL常用配置和性能壓力測(cè)試的知識(shí),文中配置參數(shù)以32內(nèi)存的服務(wù)器為例,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07
  • MySQL修改密碼的幾種方式

    MySQL修改密碼的幾種方式

    這篇文章主要介紹了MySQL修改密碼的幾種方式,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-12-12
  • SQL中l(wèi)imit函數(shù)語(yǔ)法與用法(MYSQL獲取限制某行數(shù)據(jù))

    SQL中l(wèi)imit函數(shù)語(yǔ)法與用法(MYSQL獲取限制某行數(shù)據(jù))

    limit是MySql的內(nèi)置函數(shù),一般用于查詢表中記錄的條數(shù),作用是用于限制查詢條數(shù),下面這篇文章主要給大家介紹了關(guān)于SQL中l(wèi)imit函數(shù)語(yǔ)法與用法的相關(guān)資料,詳細(xì)講了MYSQL獲取限制某行數(shù)據(jù)的方法,需要的朋友可以參考下
    2022-08-08
  • MySQL使用select語(yǔ)句查詢指定表中指定列(字段)的數(shù)據(jù)

    MySQL使用select語(yǔ)句查詢指定表中指定列(字段)的數(shù)據(jù)

    本文介紹MySQL數(shù)據(jù)庫(kù)中執(zhí)行select查詢語(yǔ)句,查詢指定列的數(shù)據(jù),即指定字段的數(shù)據(jù),需要的朋友可以參考下
    2016-11-11
  • MySQL索引失效十種場(chǎng)景與優(yōu)化方案

    MySQL索引失效十種場(chǎng)景與優(yōu)化方案

    這篇文章主要介紹了MySQL索引失效十種場(chǎng)景與優(yōu)化方案,文中有詳細(xì)的代碼示例供參考閱讀,感興趣的朋友可以看一下
    2023-05-05
  • mysql數(shù)據(jù)庫(kù)詳解(基于ubuntu 14.0.4 LTS 64位)

    mysql數(shù)據(jù)庫(kù)詳解(基于ubuntu 14.0.4 LTS 64位)

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)詳解(基于ubuntu 14.0.4 LTS 64位),具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • mysql-8.0.15-winx64安裝與修改密碼方式

    mysql-8.0.15-winx64安裝與修改密碼方式

    本文提供了詳細(xì)的MySQL安裝步驟,包括下載、安裝、配置環(huán)境變量、啟動(dòng)服務(wù)和初始化數(shù)據(jù)庫(kù),首先,從MySQL官網(wǎng)下載壓縮包并解壓,其次,將bin目錄添加到系統(tǒng)PATH中,接著,創(chuàng)建my.ini文件進(jìn)行配置,并正確放置于指定目錄,通過(guò)CMD以管理員身份執(zhí)行安裝和初始化命令
    2024-10-10
  • mysql通過(guò)生日計(jì)算年齡的實(shí)現(xiàn)方法

    mysql通過(guò)生日計(jì)算年齡的實(shí)現(xiàn)方法

    本文主要介紹了mysql通過(guò)生日計(jì)算年齡的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11

最新評(píng)論

玛沁县| 开远市| 康马县| 吉木萨尔县| 新源县| 酒泉市| 桃园市| 莲花县| 吴堡县| 鄂温| 香河县| 韶山市| 宜君县| 肇东市| 那坡县| 余江县| 民县| 霍林郭勒市| 保靖县| 海原县| 专栏| 寻甸| 新邵县| 铜鼓县| 韶山市| 施甸县| 东阿县| 新营市| 新安县| 宣汉县| 军事| 尼玛县| 沙坪坝区| 祁门县| 新竹县| 盐津县| 沐川县| 蕉岭县| 衡阳县| 乌恰县| 夏津县|