mydumper備份數(shù)據(jù)庫

一、備份

1.全庫備份

/usr/local/bin/mydumper -h ${sql_ip}  --user ${user} --password ${passwd} -o ${bakdir} -c -e -t 16

2.單庫備份

mydumper -h ${sql_ip}  --user ${user} -p ${passwd} -o ${bakdir} -B ${database} -c -e -t 16

3.表備份

mydumper -u ${user} -p ${passwd} -o ${bakdir} -B ${database} -T ${table1},${table2} -c -e -t 16

二、恢復(fù)

恢復(fù)庫

myloader -u root -p 123456 -h IP  -S /data/mysql/mysql_3307/mysql_3307.sock -B 數(shù)據(jù)庫名稱 -o -d 數(shù)據(jù)庫備份路徑 -t 16

單表恢復(fù)

單表恢復(fù)需要解壓備份文件為sql格式,用source 方法恢復(fù),并且恢復(fù)前需要刪除表

#恢復(fù)表結(jié)構(gòu)
source table-schema.sql
#恢復(fù)數(shù)據(jù)
source tables.sql

三、參數(shù)

mydumper 參數(shù):

-B, --database              要備份的數(shù)據(jù)庫,不指定則備份所有庫

-T, --tables-list           需要備份的表,名字用逗號隔開

-o, --outputdir             備份文件輸出的目錄

-s, --statement-size        生成的insert語句的字節(jié)數(shù),默認(rèn)1000000

-r, --rows                  將表按行分塊時,指定的塊行數(shù),指定這個選項會關(guān)閉 --chunk-filesize

-F, --chunk-filesize        將表按大小分塊時,指定的塊大小,單位是 MB

-c, --compress              壓縮輸出文件

-e, --build-empty-files     如果表數(shù)據(jù)是空,還是產(chǎn)生一個空文件(默認(rèn)無數(shù)據(jù)則只有表結(jié)構(gòu)文件)

-x, --regex                 是同正則表達式匹配 'db.table'

-i, --ignore-engines        忽略的存儲引擎,用都厚分割

-m, --no-schemas            不備份表結(jié)構(gòu)

-k, --no-locks              不使用臨時共享只讀鎖,使用這個選項會造成數(shù)據(jù)不一致

--less-locking              減少對InnoDB表的鎖施加時間(這種模式的機制下文詳解)

-l, --long-query-guard      設(shè)定阻塞備份的長查詢超時時間,單位是秒,默認(rèn)是60秒(超時后默認(rèn)mydumper將會退出)

--kill-long-queries         殺掉長查詢 (不退出)

-b, --binlogs               導(dǎo)出binlog

-D, --daemon                啟用守護進程模式,守護進程模式以某個間隔不間斷對數(shù)據(jù)庫進行備份

-I, --snapshot-interval     dump快照間隔時間,默認(rèn)60s,需要在daemon模式下

-L, --logfile               使用的日志文件名(mydumper所產(chǎn)生的日志), 默認(rèn)使用標(biāo)準(zhǔn)輸出

--tz-utc                    跨時區(qū)是使用的選項,不解釋了

--skip-tz-utc               同上

--use-savepoints            使用savepoints來減少采集metadata所造成的鎖時間,需要 SUPER 權(quán)限

--success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist

-h, --host                  連接的主機名

-u, --user                  備份所使用的用戶

-p, --pass                  密碼

-P, --port                  端口

-S, --socket                使用socket通信時的socket文件

-t, --threads               開啟的備份線程數(shù),默認(rèn)是4

-C, --compress-protocol     壓縮與mysql通信的數(shù)據(jù)

-V, --version               顯示版本號

-v, --verbose               輸出信息模式, 0 = silent, 1 = errors, 2 = warnings, 3= info, 默認(rèn)為 2

myloader 參數(shù):

-d, --directory                   備份文件的文件夾

-q, --queries-per-transaction     每次事物執(zhí)行的查詢數(shù)量,默認(rèn)是1000

-o, --overwrite-tables            如果要恢復(fù)的表存在,則先drop掉該表,使用該參數(shù),需要備份時候要備份表結(jié)構(gòu)

-B, --database                    需要還原的數(shù)據(jù)庫

-e, --enable-binlog               啟用還原數(shù)據(jù)的二進制日志

-h, --host                        主機

-u, --user                        還原的用戶

-p, --pass                        密碼

-P, --port                        端口

-S, --socket                      socket文件

-t, --threads                     還原所使用的線程數(shù),默認(rèn)是4

-C, --compress-protocol           壓縮協(xié)議

-V, --version                     顯示版本

-v, --verbose                     輸出模式, 0 = silent, 1 = errors, 2 = warnings,3 = info, 默認(rèn)為2

四、安裝

wget [https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz](https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz)
tar xf mydumper-0.9.1.tar.gz
cd mydumper-0.9.1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容