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

MySQL 基于時間點的快速恢復方案

 更新時間:2020年11月11日 14:59:27   作者:AsiaYe  
這篇文章主要介紹了MySQL 基于時間點的快速恢復方案,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下

  之所以有這樣一篇文章,是因為在前幾天的一個晚上,要下班的時候,業(yè)務方忽然有一個需求,是需要恢復一個表里面的數(shù)據(jù),當時問了下情況,大概是這樣的:業(yè)務方不小心在一個表里面做了一個update的操作,可能是where條件沒有寫對,導致表里面的數(shù)據(jù)被寫壞了,但是數(shù)據(jù)目前還沒有落盤,只是在內存中的值修改了,現(xiàn)在要求恢復到之前的數(shù)據(jù)。萬幸,這份數(shù)據(jù)是平臺上某些商品的價格,基本上是有限個商品,然后價格值也都是固定的,之前有對這個價格表進行備份,于是給他直接重新導入了一份價格表的數(shù)據(jù),這個問題也算是解決了。

    當時我在想,如果我沒有備份,只有binlog,這個時候如果這個問題讓我來恢復,那么有什么更好的辦法么?新建一個實例,全庫還原,然后應用備份的binlog,一直去追,追到數(shù)據(jù)被該壞的時間點。

 使用mysqlbinlog工具重放事務,這種方法會有很多陷阱,比如:

     1、只能每次運行一個mysqlbinlog命令,一次對一個binlog文件執(zhí)行重放,無法并行多命令運行,因為在執(zhí)行重放的時候會產生一個臨時表,會有沖突,造成失敗。

     2、它是一個原子操作。如果它在運行到半途中間的時候失敗,將很難知道它在哪失敗,也很難基于先前的時間點重新開始。導致失敗的理由會有很多:一些并發(fā)事務引起的Innodb lock wait timeout ,server和client設置的max_allowed_packet不同,以及查詢過程中失去跟mysql server的連接,等等。

    于是翻了翻percona的博客,找到一種方法,看了看精髓,就大概記錄了下來,這兒方法我還沒有親自實現(xiàn),只是記錄在這里,以后有時間了可以親自操作一把,看看是否能夠比較高效的解決這個問題。

    大體思路如下:

 2臺額外機器,第1臺用于做備份結果數(shù)據(jù)的恢復,另外1臺用于將原主的binlog拷貝至該實例然后模擬原主,然后第一臺與第二臺建立主從關系,change master to 第二臺,位置點位備份結果(xtrabackup_binlog_info中的binlog名和pos),然后同步至誤操作點停止,將恢復的表,導出,然后恢復至生產原主。

    具體的步驟如下:

1、準備一臺機器,用于將該實例的最新備份的結果數(shù)據(jù),進行備份還原

2、準備另外一臺機器了,新實例,將原master的binlog文件,拷貝至該實例的數(shù)據(jù)目錄下, 啟動一個空實例(server-id跟原主一致, --log_bin=master-bin  binlog文件名保持跟原主一致;),然后停掉它,刪除所有它自動創(chuàng)建的binlogs,解壓縮并拷貝所有需要的binlogs(來自于原生產實例)到它的數(shù)據(jù)目錄下,然后重新啟動它。

    最新備份數(shù)據(jù)的位置:

    如果啟動正常,則連接mysql,查看binlog相關信息:

3、建立同步關系,并同步到誤操作動作的位置前停止

 CHANGE MASTER TO 

MASTER_HOST='127.0.0.1',

MASTER_PORT=3307,

MASTER_USER='root',

MASTER_PASSWORD='secret',

MASTER_LOG_FILE='master-bin.000007', MASTER_LOG_POS=1518932;

START SLAVE UNTIL 

MASTER_LOG_FILE = 'log_name', 

MASTER_LOG_POS = log_pos 

或者

START SLAVE SQL_THREAD UNTIL

 SQL_AFTER_GTIDS =

 3E11FA47-71CA-11E1-9E33-C80AA9429562:11-56

SHOW SLAVE STATUSG;

    相當于多用了一臺實例,提高二進制日志的利用速率,提高二進制日志的利用的成功率。這個方法是否可行,還有待驗證,按照文章中作者講述的思想來看,是比單實例應用binlog的方法好,因為一旦發(fā)生了應用binlog過程中的錯誤,它能夠快速確定實在那個點位發(fā)生的錯誤,有助于我們快速解決問題。

以上就是MySQL 基于時間點的快速恢復方案的詳細內容,更多關于MySQL 快速恢復的資料請關注腳本之家其它相關文章!

相關文章

  • MySQL故障切換筆記之應用無感知設計詳解

    MySQL故障切換筆記之應用無感知設計詳解

    這篇文章主要給大家介紹了關于MySQL故障切換筆記之應用無感知設計的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mysql具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • mysql查詢連續(xù)記錄方式

    mysql查詢連續(xù)記錄方式

    這篇文章主要介紹了mysql查詢連續(xù)記錄方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 如何解決mysql出現(xiàn)Incorrect string value for column ‘表項‘ at row 1錯誤問題

    如何解決mysql出現(xiàn)Incorrect string value for co

    這篇文章主要介紹了如何解決mysql出現(xiàn)Incorrect string value for column ‘表項‘ at row 1錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • MySql中now()與sysdate()區(qū)別小結

    MySql中now()與sysdate()區(qū)別小結

    本文主要介紹了MySql中now()與sysdate()區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • 解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated

    解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GR

    這篇文章主要介紹了解決大于5.7版本mysql的分組報錯Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated問題,需要的朋友可以參考下
    2019-10-10
  • MySQL中庫的基本操作指南(推薦!)

    MySQL中庫的基本操作指南(推薦!)

    MySQL這個數(shù)據(jù)庫是一個客戶端-服務器結構的程序,下面這篇文章主要給大家介紹了關于MySQL中庫的基本操作指南,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 詳解MySQL 用戶權限管理

    詳解MySQL 用戶權限管理

    這篇文章主要介紹了MySQL 用戶權限管理的相關資料,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-04-04
  • MySQL高級進階sql語句總結大全

    MySQL高級進階sql語句總結大全

    這篇文章主要給大家介紹了關于MySQL高級進階sql語句的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • MySQL安裝提示

    MySQL安裝提示"請鍵入NET HELPMSG 3534以獲得更多的幫助"的解決辦法

    這篇文章主要介紹了MySQL安裝提示"請鍵入NET HELPMSG 3534以獲得更多的幫助"的解決辦法
    2017-03-03
  • 使用MySQL實現(xiàn)一個分布式鎖

    使用MySQL實現(xiàn)一個分布式鎖

    在分布式系統(tǒng)中,分布鎖是一個最基礎的工具類。這篇文章主要介紹了用MySQL實現(xiàn)一個分布式鎖,本文通過實例代碼相結合給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論

台州市| 延吉市| 香港| 西盟| 中牟县| 宜宾市| 伽师县| 乐山市| 潮州市| 汶上县| 肥东县| 阳原县| 晋城| 黔东| 罗甸县| 灌阳县| 常山县| 察雅县| 靖边县| 兴业县| 嘉荫县| 衡阳市| 济阳县| 清原| 饶河县| 榆林市| 黑山县| 江安县| 宁陕县| 徐水县| 兰考县| 湛江市| 桃园市| 石台县| 八宿县| 林芝县| 黄骅市| 武义县| 民权县| 万盛区| 远安县|