新聞中心
前言
上篇文章介紹了 mydumper 備份工具的使用方法,文中有提到 mydumper 和 myloader 是一對相互的命令,即 mydumper 負責備份(導出),myloader 負責恢復(導入)。那么 myloader 又該如何使用呢?本篇文章我們一起來看下。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,臨澤企業(yè)網(wǎng)站建設,臨澤品牌網(wǎng)站建設,網(wǎng)站定制,臨澤網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,臨澤網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
1. myloader 介紹
myloader 是與 mydumper 工具配合使用的多線程備份恢復工具,可以直接以 mydumper 輸出文件為輸入,恢復備份數(shù)據(jù)。主要用于將 dump 出來的 sql 文件以并行的方式進行恢復。
執(zhí)行 myloader --help 可以查看幫助信息,同樣的,我們來看下 myloader 相關參數(shù):
參考官方介紹,以下簡要說明部分常用的參數(shù)。
我們知道,myloader 也是多線程的,面對 mydumper 備份出來的那么多文件,恢復的時候是如何順序執(zhí)行的呢?各個線程是如何工作的?myloader 具體工作流程可參考下圖:
即首先會創(chuàng)建一個主線程,主線程負責主邏輯,子線程為 worker 線程,執(zhí)行具體恢復數(shù)據(jù)任務,子線程執(zhí)行完成后再由主線程創(chuàng)建函數(shù)、存儲過程、事件及視圖、觸發(fā)器這些對象。
2. myloader 恢復示例
我們以上篇文章備份出的文件為例,來看下如何用 myloader 進行恢復:
- # 恢復備份文件中的全部 若表已存在則先刪除
- myloader -u root -p 123456 -o -d /backups/all3
- # 從全備中恢復指定庫
- myloader -u root -p 123456 -s db1 -o -d /backups/all3
- # 將某個數(shù)據(jù)庫備份還原到另一個數(shù)據(jù)庫中(目標庫不存在則會新建)
- myloader -u root -p 123456 -B recover_db1 -s db1 -o -d /backups/all3
- myloader -u root -p 123456 -B recover_db1 -o -d /backups/db1
- # 恢復時開啟binlog(有備庫的時候需要開啟)
- myloader -u root -p 123456 -e -o -d /backups/db1
- # 無法直接還原單表 只能找到單表的sql文件 進入命令行source 執(zhí)行
- source db1.tb1-schema.sql 還原表結構
- source db1.tb1.sql 還原表數(shù)據(jù)
可以看到使用 myloader 恢復數(shù)據(jù)還是很方便的,并且有多個參數(shù)可選,恢復場景也更加靈活。比如我們可以從全備中恢復出單個庫,或者將備份恢復到一個新庫中等等,這些場景基本能覆蓋日?;謴托枨?。雖然不支持單表恢復,但我們可以到文件夾中輕松找到該表的建表及插數(shù)據(jù)的 sql 腳本,進入 mysql 命令行中再執(zhí)行單個腳本也能實現(xiàn)恢復單表的需求。
不過要注意的是 myloader 恢復時默認不開啟 binlog,這雖然可以加快恢復速度,但是當存在從庫時,一定要注意使用 -e 參數(shù)來打開 binlog 記錄。
分享名稱:一篇學會如何使用Myloader恢復數(shù)據(jù)
分享路徑:http://m.fisionsoft.com.cn/article/djddocd.html


咨詢
建站咨詢
