Mydumper - MySQLDatabase Backup工具

來源:互聯網
上載者:User

Mydumper - MySQLDatabase Backup工具

Mydumper 是 MySQL 資料庫伺服器備份工具,它比 MySQL 內建的 mysqldump 快很多。它還有在轉儲的同時擷取遠程伺服器二進位記錄檔的能力。

Mydumper 的優勢
  • 並行能力 (因此有高速度) 和效能 (高效的代碼避免了耗費 CPU 處理能力的字元集轉換過程)
  • 更容易管理輸出 (每個表都對應獨立的檔案,轉儲中繼資料等,便於查看/解析資料)
  • 一致性 :跨線程維護快照, 提供精確的主從日誌定位等。
  • 可管理性 : 支援用 PCRE 來包含/排除指定的資料庫和表(LCTT譯註:PCRE,Perl Compatible Regular Expression,Perl相容Regex)
在Ubuntu上安裝 mydumper

開啟終端運行以下命令

  1. sudo apt-get install mydumper
使用 Mydumper文法
  1. mydumper [options]

應用程式選項:

  • -B, --database 要轉儲的資料庫
  • -T, --tables-list 逗號分隔的轉儲表列表(不會被Regex排除)
  • -o, --outputdir 儲存輸出檔案的目錄
  • -s, --statement-size 插入語句的位元組大小, 預設是1000000個位元組
  • -r, --rows 把表按行數切塊
  • -c, --compress 壓縮輸出檔案
  • -e, --build-empty-files 空表也輸出檔案
  • -x, --regex 匹配‘db.table’的Regex
  • -i, --ignore-engines 以逗號分隔的被忽略的儲存引擎列表
  • -m, --no-schemas 不轉儲表架構
  • -k, --no-locks 不執行臨時共用讀鎖。警告: 這會導致備份的不一致性
  • -l, --long-query-guard 設定長查詢的計時器秒數,預設是60秒
  • --kill-long-queries 殺死長查詢 (而不是退出程式)
  • -b, --binlogs 擷取二進位記錄檔快照並轉儲資料
  • -D, --daemon 開啟守護進程模式
  • -I, --snapshot-interval 每個轉儲快照之間的間隔時間(分鐘), 需要開啟 --daemon, 預設是60分鐘
  • -L, --logfile 記錄檔的名字,預設是stdout
  • -h, --host 要串連的主機
  • -u, --user 有轉儲許可權的使用者名稱
  • -p, --password 使用者密碼
  • -P, --port 串連的TCP/IP連接埠
  • -S, --socket 用於串連的Unix通訊端檔案
  • -t, --threads 使用的線程數,預設是4
  • -C, --compress-protocol 在MySQL串連上使用壓縮
  • -V, --version 查看程式版本號碼
  • -v, --verbose 輸出資訊的等級, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 預設是2
Mydumper 例子
  1. mydumper \
  2. --database=$DB_NAME \
  3. --host=$DB_HOST \
  4. --user=$DB_USER \
  5. --password=$DB_PASS \
  6. --outputdir=$DB_DUMP \
  7. --rows=500000 \
  8. --compress \
  9. --build-empty-files \
  10. --threads=2 \
  11. --compress-protocol

Mydumper 輸出資料的說明

Mydumper 不直接指定輸出的檔案,而是輸出到檔案夾的檔案中。--outputdir 選項指定要使用的目錄名稱。

輸出分為兩部分

表結構

對資料庫中的每個表,建立一個包含 CREATE TABLE 語句的檔案。檔案命名為:

dbname.tablename-schema.sql.gz

資料

每個表名跟著按 --rows 參數所切塊的數量, 建立檔案名稱字為:

dbname.tablename.0000n.sql.gz

"n"從0開始.

你可以使用Myloader恢複這些備份

  1. myloader \
  2. --database=$DB_NAME \
  3. --directory=$DB_DUMP \
  4. --queries-per-transaction=50000 \
  5. --threads=10 \
  6. --compress-protocol \
  7. --verbose=3

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.