欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

邏輯備份mysqldump和物理備份xtrabackup的流程

MySQLdump備份原理

備份的基本流程如下:

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務至上”的服務理念,堅持“二合一”的優(yōu)良服務模式,真誠服務每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及廣告設計等,在網(wǎng)站建設網(wǎng)絡營銷推廣、WAP手機網(wǎng)站、VI設計、軟件開發(fā)等項目上具有豐富的設計經(jīng)驗。

  1. FLUSH TABLES

    功能:關閉實例上所有打開表
    目的:為第二步prepare,為了避免較長的事務操作造成FLUSH TABLES WITH READ LOCK操作遲遲得不到鎖,但同時又阻塞了其它客戶端操作
  2. FLUSH TABLES WITH READ LOCK

    功能:加全局讀鎖
    目的:獲得DB一致性狀態(tài)
  3. SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ

    功能:設置當前會話的事務隔離等級為RR,RR可避免不可重復讀和幻讀
    目的:確保在備份事務中任何時刻數(shù)據(jù)都相同
  4. START TRANSACTION WITH CONSISTENT SNAPSHOT

    功能:獲取當前數(shù)據(jù)庫的快照,這個是由mysqldump中--single-transaction決定的
    目的: 簡而言之,就是開啟事務并對所有表執(zhí)行了一次SELECT操作,這樣可保證備份時,在任意時間點執(zhí)行select * from table得到的數(shù)據(jù)和執(zhí)行START TRANSACTION WITH CONSISTENT SNAPSHOT時的數(shù)據(jù)一致
  5. obtain Log position

    功能:獲取binlog的相關信息,這個是由--master-data決定的
    目的:記錄了開始備份時,binlog的狀態(tài)信息,包括MASTER_LOG_FILE和MASTER_LOG_POS
  6. 備份非innodb表數(shù)據(jù)(.frm,.myi,.myd等)
     
  7. unlock tables(非innodb表備份完畢)
     
  8. 備份innodb表數(shù)據(jù)
     
  9. 備份完成
     

xtrabackup備份原理

innobackupex的本質:innobackupex 腳本用來備份非 InnoDB 表,同時會調(diào)用 xtrabackup 命令來備份 InnoDB 表

邏輯備份mysqldump和物理備份xtrabackup的流程

備份的基本流程如下:

  1. innobackupex 在啟動后,會先 fork 一個進程,啟動 xtrabackup進程,然后就等待 xtrabackup 備份完 ibd 數(shù)據(jù)文件
    ?
  2. xtrabackup 在備份 InnoDB 相關數(shù)據(jù)時,是有2種線程的,1種是 redo 拷貝線程,負責拷貝 redo 文件,1種是 ibd 拷貝線程,負責拷貝 ibd 文件;redo 拷貝線程只有一個,在 ibd 拷貝線程之前啟動,在 ibd 線程結束后結束。xtrabackup 進程開始執(zhí)行后,先啟動 redo 拷貝線程,從最新的 checkpoint 點開始順序拷貝 redo 日志;然后再啟動 ibd 數(shù)據(jù)拷貝線程,在 xtrabackup 拷貝 ibd 過程中,innobackupex 進程一直處于等待狀態(tài)(等待文件被創(chuàng)建)
    ?
  3. xtrabackup 拷貝完成idb后,通知 innobackupex(通過創(chuàng)建文件),同時自己進入等待(redo 線程仍然繼續(xù)拷貝)
    ?
  4. innobackupex 收到 xtrabackup 通知后,執(zhí)行FLUSH TABLES WITH READ LOCK (FTWRL),取得一致性位點,然后開始備份非 InnoDB 文件(包括 frm、MYD、MYI、CSV、opt、par等)。拷貝非 InnoDB 文件過程中,因為數(shù)據(jù)庫處于全局只讀狀態(tài),如果在業(yè)務的主庫備份的話,要特別小心,非 InnoDB 表(主要是MyISAM)比較多的話整庫只讀時間就會比較長,這個影響一定要評估到
    ?
  5. 當 innobackupex 拷貝完所有非 InnoDB 表文件后,通知 xtrabackup(通過刪文件) ,同時自己進入等待(等待另一個文件被創(chuàng)建)
    ?
  6. xtrabackup 收到 innobackupex 備份完非 InnoDB 通知后,就停止 redo 拷貝線程,然后通知 innobackupex redo log 拷貝完成(通過創(chuàng)建文件)
    ?
  7. innobackupex 收到 redo 備份完成通知后,就開始解鎖,執(zhí)行 UNLOCK TABLES
    ?
  8. 最后 innobackupex 和 xtrabackup 進程各自完成收尾工作,如資源的釋放、寫備份元數(shù)據(jù)信息等,innobackupex 等待 xtrabackup 子進程結束后退出
    ?

新聞名稱:邏輯備份mysqldump和物理備份xtrabackup的流程
當前鏈接:http://chinadenli.net/article46/gjoheg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計做網(wǎng)站ChatGPT小程序開發(fā)移動網(wǎng)站建設建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)