【備份工具】mydumper
Mydumper主要特性:是一個針對MySQL的高效能多執行緒備份和恢復工具,開發人員主要來自MySQL,Facebook,SkySQL公司。
特性:
1:輕量級C語言寫的
2:執行速度比mysqldump快10倍
3:事務性和非事務性表一致的快照(適用於0.2.2以上版本)
4:快速的檔案壓縮
5:支援匯出binlog
6:多執行緒恢復(適用於0.2.1以上版本)
7:以守護程式的工作方式,定時快照和連續二進位制日誌(適用於0.5.0以上版本)
8:開源 (GNU GPLv3)
安裝地址及安裝方法:
yum install glib2-devel mysql-devel zlib-devel pcre-devel zlib gcc-c++ gcc cmake -y
wget
tar xf mydumper-0.9.1.tar.gz
cd mydumper-0.9.1/
cmake .
make && make install
下面是percona-xtrabackup和mydumper壓縮備份後的大小:
[root@test-5-69 bak]# du -sh *
3.3G 2017-02-09_04-00-02
3.3G 2017-02-10_04-00-02
3.3G 2017-02-11_04-00-02
3.3G 2017-02-12_04-00-02
3.3G 2017-02-13_04-00-02
3.3G 2017-02-14_04-00-02
3.3G 2017-02-15_04-00-02
852M all_20170215
在測試庫中使用的優勢:
mydumper匯出的形式是每個表一個檔案,對開發和測試誤操作恢復十分有效。而percona-xtrabackup是對全庫,恢復也是全庫。 對單個表誤操作恢復繁瑣。
mydumper備份後的儲存格式:
[root@test-5-69 all_20170215]# ls
jxcommoninfo.orderinfo-schema.sql.gz jxorder.ord_OrderCount.sql.gz metadata
jxcommoninfo.orderinfo.sql.gz jxorder.ord_OrderExchangeCodeDetail-schema.sql.gz mysql.columns_priv-schema.sql.gz
jxcommoninfo-schema-create.sql.gz jxorder.ord_OrderExchangeCodeDetail.sql.gz mysql.db-schema.sql.gz
jxorder.checksums-schema.sql.gz jxorder.ord_OrderExt-schema.sql.gz mysql.db.sql.gz
jxorder.dsns-schema.sql.gz jxorder.ord_OrderExt.sql.gz mysql.event-schema.sql.gz
jxorder.dsns.sql.gz jxorder.ord_OrderMarkLog-schema.sql.gz mysql.func-schema.sql.gz
jxorder.dz_packingMaterialsOrder-schema.sql.gz jxorder.ord_OrderMark-schema.sql.gz mysql.help_category-schema.sql.gz
[root@test-5-69 all_20170215]# mydumper --help
Application Options:
-B, --database 需要備份的資料庫,一個資料庫一條命令備份,要不就是備份所有資料庫,包括mysql。
-T, --tables-list 需要備份的表,用逗號分隔。
-o, --outputdir 備份檔案目錄
-s, --statement-size 生成插入語句的位元組數,預設1000000,這個引數不能太小,不然會報 Row bigger than statement_size for tools.t_serverinfo
-r, --rows 試圖用行塊來分割表,該引數關閉--chunk-filesize
-F, --chunk-filesize 行塊分割表的檔案大小,單位是MB
-c, --compress 壓縮輸出檔案
-e, --build-empty-files 即使表沒有資料,也產生一個空檔案
-x, --regex 正規表示式匹配,如'db.table'
-i, --ignore-engines 忽略的儲存引擎,用逗號分隔
-m, --no-schemas 不匯出表結構
-d, --no-data 不匯出表資料
-G, --triggers 匯出觸發器
-E, --events 匯出事件
-R, --routines 匯出儲存過程
-k, --no-locks 不執行共享讀鎖 警告:這將導致不一致的備份
--less-locking 減到最小的鎖在innodb表上.
-l, --long-query-guard 設定長查詢時間,預設60秒,超過該時間則會報錯:There are queries in PROCESSLIST running longer than 60s, aborting dump
-K, --kill-long-queries kill掉長時間執行的查詢,備份報錯:Lock wait timeout exceeded; try restarting transaction
-D, --daemon 啟用守護程式模式
-I, --snapshot-interval dump快照間隔時間,預設60s,需要在daemon模式下
-L, --logfile 使用日誌檔案,預設標準輸出到終端
--tz-utc 備份的時候允許備份Timestamp,這樣會導致不同時區的備份還原會出問題,預設關閉,引數:--skip-tz-utc to disable.
--skip-tz-utc
--use-savepoints 使用儲存點記錄後設資料的鎖資訊,需要SUPER許可權
--success-on-1146 Not increment error count and Warning instead of Critical in case of table doesn't exist
--lock-all-tables 鎖全表,代替FLUSH TABLE WITH READ LOCK
-U, --updated-since Use Update_time to dump only tables updated in the last U days
--trx-consistency-only Transactional consistency only
-h, --host The host to connect to
-u, --user Username with privileges to run the dump
-p, --password User password
-P, --port TCP/IP port to connect to
-S, --socket UNIX domain socket file to use for connection
-t, --threads 備份執行的執行緒數,預設4個執行緒
-C, --compress-protocol 在mysql連線上使用壓縮協議
-V, --version Show the program version and exit
-v, --verbose 更多輸出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
[root@test-5-69 all_20170215]# myloader --help
Application Options:
-d, --directory 備份檔案所在的目錄
-q, --queries-per-transaction 每個事務的query數量, 預設1000
-o, --overwrite-tables 如果表存在則先刪除,使用該引數,需要備份時候要備份表結構,不然還原會找不到表
-B, --database 指定需要還原的資料庫
-s, --source-db 還原的資料庫
-e, --enable-binlog 啟用二進位制日誌恢復資料
-h, --host The host to connect to
-u, --user Username with privileges to run the dump
-p, --password User password
-P, --port TCP/IP port to connect to
-S, --socket UNIX domain socket file to use for connection
-t, --threads 使用的執行緒數量,預設4
-C, --compress-protocol 連線上使用壓縮協議
-V, --version Show the program version and exit
-v, --verbose 更多輸出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
#!/bin/sh
. /etc/profile
DIR='/my/bak/'
DATE=`date +%Y%m%d_%H-%M`
/usr/local/bin/mydumper -c -o $DIR$DATE
find $DIR -mindepth 1 -maxdepth 1 -type d -mtime +3 -exec rm -rf {} \;
特性:
1:輕量級C語言寫的
2:執行速度比mysqldump快10倍
3:事務性和非事務性表一致的快照(適用於0.2.2以上版本)
4:快速的檔案壓縮
5:支援匯出binlog
6:多執行緒恢復(適用於0.2.1以上版本)
7:以守護程式的工作方式,定時快照和連續二進位制日誌(適用於0.5.0以上版本)
8:開源 (GNU GPLv3)
安裝地址及安裝方法:
yum install glib2-devel mysql-devel zlib-devel pcre-devel zlib gcc-c++ gcc cmake -y
wget
tar xf mydumper-0.9.1.tar.gz
cd mydumper-0.9.1/
cmake .
make && make install
下面是percona-xtrabackup和mydumper壓縮備份後的大小:
[root@test-5-69 bak]# du -sh *
3.3G 2017-02-09_04-00-02
3.3G 2017-02-10_04-00-02
3.3G 2017-02-11_04-00-02
3.3G 2017-02-12_04-00-02
3.3G 2017-02-13_04-00-02
3.3G 2017-02-14_04-00-02
3.3G 2017-02-15_04-00-02
852M all_20170215
在測試庫中使用的優勢:
mydumper匯出的形式是每個表一個檔案,對開發和測試誤操作恢復十分有效。而percona-xtrabackup是對全庫,恢復也是全庫。 對單個表誤操作恢復繁瑣。
mydumper備份後的儲存格式:
[root@test-5-69 all_20170215]# ls
jxcommoninfo.orderinfo-schema.sql.gz jxorder.ord_OrderCount.sql.gz metadata
jxcommoninfo.orderinfo.sql.gz jxorder.ord_OrderExchangeCodeDetail-schema.sql.gz mysql.columns_priv-schema.sql.gz
jxcommoninfo-schema-create.sql.gz jxorder.ord_OrderExchangeCodeDetail.sql.gz mysql.db-schema.sql.gz
jxorder.checksums-schema.sql.gz jxorder.ord_OrderExt-schema.sql.gz mysql.db.sql.gz
jxorder.dsns-schema.sql.gz jxorder.ord_OrderExt.sql.gz mysql.event-schema.sql.gz
jxorder.dsns.sql.gz jxorder.ord_OrderMarkLog-schema.sql.gz mysql.func-schema.sql.gz
jxorder.dz_packingMaterialsOrder-schema.sql.gz jxorder.ord_OrderMark-schema.sql.gz mysql.help_category-schema.sql.gz
[root@test-5-69 all_20170215]# mydumper --help
Application Options:
-B, --database 需要備份的資料庫,一個資料庫一條命令備份,要不就是備份所有資料庫,包括mysql。
-T, --tables-list 需要備份的表,用逗號分隔。
-o, --outputdir 備份檔案目錄
-s, --statement-size 生成插入語句的位元組數,預設1000000,這個引數不能太小,不然會報 Row bigger than statement_size for tools.t_serverinfo
-r, --rows 試圖用行塊來分割表,該引數關閉--chunk-filesize
-F, --chunk-filesize 行塊分割表的檔案大小,單位是MB
-c, --compress 壓縮輸出檔案
-e, --build-empty-files 即使表沒有資料,也產生一個空檔案
-x, --regex 正規表示式匹配,如'db.table'
-i, --ignore-engines 忽略的儲存引擎,用逗號分隔
-m, --no-schemas 不匯出表結構
-d, --no-data 不匯出表資料
-G, --triggers 匯出觸發器
-E, --events 匯出事件
-R, --routines 匯出儲存過程
-k, --no-locks 不執行共享讀鎖 警告:這將導致不一致的備份
--less-locking 減到最小的鎖在innodb表上.
-l, --long-query-guard 設定長查詢時間,預設60秒,超過該時間則會報錯:There are queries in PROCESSLIST running longer than 60s, aborting dump
-K, --kill-long-queries kill掉長時間執行的查詢,備份報錯:Lock wait timeout exceeded; try restarting transaction
-D, --daemon 啟用守護程式模式
-I, --snapshot-interval dump快照間隔時間,預設60s,需要在daemon模式下
-L, --logfile 使用日誌檔案,預設標準輸出到終端
--tz-utc 備份的時候允許備份Timestamp,這樣會導致不同時區的備份還原會出問題,預設關閉,引數:--skip-tz-utc to disable.
--skip-tz-utc
--use-savepoints 使用儲存點記錄後設資料的鎖資訊,需要SUPER許可權
--success-on-1146 Not increment error count and Warning instead of Critical in case of table doesn't exist
--lock-all-tables 鎖全表,代替FLUSH TABLE WITH READ LOCK
-U, --updated-since Use Update_time to dump only tables updated in the last U days
--trx-consistency-only Transactional consistency only
-h, --host The host to connect to
-u, --user Username with privileges to run the dump
-p, --password User password
-P, --port TCP/IP port to connect to
-S, --socket UNIX domain socket file to use for connection
-t, --threads 備份執行的執行緒數,預設4個執行緒
-C, --compress-protocol 在mysql連線上使用壓縮協議
-V, --version Show the program version and exit
-v, --verbose 更多輸出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
[root@test-5-69 all_20170215]# myloader --help
Application Options:
-d, --directory 備份檔案所在的目錄
-q, --queries-per-transaction 每個事務的query數量, 預設1000
-o, --overwrite-tables 如果表存在則先刪除,使用該引數,需要備份時候要備份表結構,不然還原會找不到表
-B, --database 指定需要還原的資料庫
-s, --source-db 還原的資料庫
-e, --enable-binlog 啟用二進位制日誌恢復資料
-h, --host The host to connect to
-u, --user Username with privileges to run the dump
-p, --password User password
-P, --port TCP/IP port to connect to
-S, --socket UNIX domain socket file to use for connection
-t, --threads 使用的執行緒數量,預設4
-C, --compress-protocol 連線上使用壓縮協議
-V, --version Show the program version and exit
-v, --verbose 更多輸出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
#!/bin/sh
. /etc/profile
DIR='/my/bak/'
DATE=`date +%Y%m%d_%H-%M`
/usr/local/bin/mydumper -c -o $DIR$DATE
find $DIR -mindepth 1 -maxdepth 1 -type d -mtime +3 -exec rm -rf {} \;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-2133935/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mydumper備份工具介紹與使用
- MySQL資料庫備份工具Mydumper使用介紹MySql資料庫
- mysql多執行緒備份與還原工具mydumperMySql執行緒
- MySQL備份遷移之mydumperMySql
- MySQL備份mydumper的原理【轉】MySql
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- 簡記MySQL的邏輯備份(mydumper+mysqldump)MySql
- mydumper備份資料庫詳解(已詳細說明)資料庫
- 【MySQL】mydumper工具介紹MySql
- MySQL 官方出品,比 mydumper 更快的多執行緒邏輯備份工具-MySQL Shell Dump & LoadMySql執行緒
- mysql備份工具MySql
- 磁碟備份工具dcfldd
- 備份工具軟體整理
- svnadmin dump備份工具
- Windows備份工具——FreeFileSyncWindows
- mydumper
- MongoDB 邏輯備份工具mongodumpMongoDB
- Mac Backup Guru for Mac(備份工具)Mac
- Oracle備份之RMAN工具(四)Oracle
- Oracle備份之RMAN工具(三)Oracle
- Oracle備份之RMAN工具(二)Oracle
- Oracle備份之RMAN工具(一)Oracle
- mysql企業備份工具mysqlbackupMySql
- MySQL中如何選擇合適的備份策略和備份工具MySql
- MySQL資料庫備份種類以及常用備份工具彙總MySql資料庫
- MySQL 資料庫備份種類以及常用備份工具彙總MySql資料庫
- Back In Time for Mac資料備份工具Mac
- 我常用的4個備份工具
- MySQL 5.7 mysqlpump 備份工具說明MySql
- CSDN部落格匯出備份工具
- innodb儲存引擎備份工具--Xtrabackup儲存引擎
- XtraBackup 2.2.8 釋出,MySQL 備份工具MySql
- 小花狸ITPUB部落格備份工具
- Mysql 物理備份工具xtrabackup的使用MySql
- HBase 增量備份和還原工具
- 【MySql】 MySql備份工具Xtrabackup之二MySql
- 【MySql】 MySql備份工具Xtrabackup之一MySql
- PG備份之pg_basebackup工具