萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql中mysqldumper安裝、使用和參數詳解

mysql中mysqldumper安裝、使用和參數詳解

mysqldumper是一個不錯的mysql備份工具了,也是眾多mysql備份工具中的一個不錯的工具了,下面來介紹mysqldumper工具安裝與使用例子。

mysqldumper這個備份工具比較好的點很明顯,就是可以並發備份,比mysqldump要快些,另一個就是備份的表是單獨的文件,恢復單表時會很方便(表結構和數據文件也是分開一個文件的)。

一、下載安裝

下載最新的mysqldumper

mysqldumper 下載地址:https://launchpadlibrarian.net/185032423/mydumper-0.6.2.tar.gz

[[email protected] ]$tar -zxvf mydumper-0.6.2.tar.gz
[[email protected] bin]$yum install pcre-devel.x86_64
[[email protected] ~]$cd mydumper-0.6.2
[[email protected] mydumper-0.6.2]$mkdir bin
[[email protected] mydumper-0.6.2]$cd bin
[[email protected] bin]$cmake ../
[[email protected] bin]$make
[[email protected] bin]$ll -rth mydumper myloader
-rwxr-xr-x. 1 root root 149K Jan  2 16:39 mydumper
-rwxr-xr-x. 1 root root  51K Jan  2 16:39 myloader

二、mysqldumper參數詳解

[[email protected] bin]$./mydumper --help |more
Usage:
  mydumper [OPTION...] multi-threaded MySQL dumping
 
Help Options:
  -?, --help                  Show help options
 
Application Options:
  -B, --database              備份數據庫
  -T, --tables-list           備份表列表,多個表以“,”逗號分隔
  -o, --outputdir             指定備份目錄
  -s, --statement-size        insert長度,單位是byte, default 1000000,這個參數不能太小,不然會報 Row bigger than statement_size for tools.t_serverinfo
  -r, --rows                  分割表,多少行記錄為一個chunk. 默認是off的
  -F, --chunk-filesize        分割表,以多個文件備份,單位是MB
  -c, --compress              壓縮備份
  -e, --build-empty-files     如果表沒有數據,還是創建這個文件
  -x, --regex                 正則匹配數據庫、表,如db.table1
  -i, --ignore-engines        忽略指定引擎的表
  -m, --no-schemas            不備份表結構
  -k, --no-locks              不加臨時的share read lock,這個可能會造成數據不一致
  --less-locking              innodb表時,最小時間lock
  -l, --long-query-guard      設置最長查詢時間,默認是60s
  -K, --kill-long-queries     將長查詢進行殺掉
  -D, --daemon                開啟守護進程模式
  -I, --snapshot-interval     快照時間,默認是60s
  -L, --logfile               日志文件,默認是標准輸出
  --tz-utc                    設置時區,只有備份應用到不同時區的時使用,默認是 --skip-tz-utc是關閉的.
  --skip-tz-utc              
  --use-savepoints            Use savepoints to reduce metadata locking issues, needs SUPER privilege
  --success-on-1146           Not increment error count and Warning instead of Critical in case of table doesn't exist
  --lock-all-tables           Use LOCK TABLE for all, instead of FTWRL
  -h, --host                  主機
  -u, --user                  用戶
  -p, --password              密碼
  -P, --port                  端口
  -S, --socket                socket文件
  -t, --threads               並發線程數,默認是4
  -C, --compress-protocol     Use compression on the MySQL connection
  -V, --version               Show the program version and exit
  -v, --verbose               Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2

三、使用方法

備份出來的sql文件,文件以數據庫開頭.表名[-schema].sql,有schema的為表的表結構創建語句,沒有的為表數據插入語句。

[[email protected] bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/
[[email protected] bin]$cd ot/mydumper-0.6.2/test/
[[email protected] test]$ll -rth
total 112K
-rw-r--r--. 1 root root  972 Jan  2 18:09 tools.django_session.sql
-rw-r--r--. 1 root root 1.1K Jan  2 18:09 tools.t_guid.sql
-rw-r--r--. 1 root root  423 Jan  2 18:09 tools.t_ftpserver-schema.sql
-rw-r--r--. 1 root root  325 Jan  2 18:09 tools.django_session-schema.sql
-rw-r--r--. 1 root root 1.6K Jan  2 18:09 tools.t_serverinfo-schema.sql
-rw-r--r--. 1 root root  133 Jan  2 18:09 metadata

metadata這個文件記錄的是當裡的binlog文件及pos,可以使用這個信息搭建slave.

[[email protected] test]$cat metadata
Started dump at: 2015-01-02 18:09:40
SHOW MASTER STATUS:
        Log: mysql-bin.000006
        Pos: 4196075
 
Finished dump at: 2015-01-02 18:09:40

只備份t_task和t_guid表


[[email protected] bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/ --tables-list=t_task,t_guid

只備份以t_server開通的表


[[email protected] bin]$./mydumper --database=tools --outputdir=/root/mydumper-0.6.2/test/ --regex="tools.t_server*"

-B,–database只能指定一個庫備份,如果需要同時備份多個數據庫,可能這樣:


[[email protected] bin]$./mydumper  --outputdir=/root/mydumper-0.6.2/test/ --regex="beebol.*|tools.*"

–threads並發度


[[email protected] bin]$./mydumper  --outputdir=/root/mydumper-0.6.2/test/ --regex="beebol.*|tools.*" --threads=8

copyright © 萬盛學電腦網 all rights reserved