MySQL資料庫備份工具Mydumper使用介紹

linux.cn發表於2015-04-25

Mydumper 是 MySQL 資料庫伺服器備份工具,它比 MySQL 自帶的 mysqldump 快很多。它還有在轉儲的同時獲取遠端伺服器二進位制日誌檔案的能力。

Mydumper - MySQL資料庫備份工具

Mydumper 的優勢

  • 並行能力 (因此有高速度) 和效能 (高效的程式碼避免了耗費 CPU 處理能力的字符集轉換過程)
  • 更容易管理輸出 (每個表都對應獨立的檔案,轉儲後設資料等,便於檢視/解析資料)
  • 一致性 :跨執行緒維護快照, 提供精確的主從日誌定位等。
  • 可管理性 : 支援用 PCRE 來包含/排除指定的資料庫和表(LCTT譯註:PCRE,Perl Compatible Regular Expression,Perl相容正規表示式)

在Ubuntu上安裝 mydumper

開啟終端執行以下命令

sudo apt-get install mydumper

使用 Mydumper

語法

mydumper [options]

應用程式選項:

  • -B, –database 要轉儲的資料庫
  • -T, –tables-list 逗號分隔的轉儲表列表(不會被正規表示式排除)
  • -o, –outputdir 儲存輸出檔案的目錄
  • -s, –statement-size 插入語句的位元組大小, 預設是1000000個位元組
  • -r, –rows 把表按行數切塊
  • -c, –compress 壓縮輸出檔案
  • -e, –build-empty-files 空表也輸出檔案
  • -x, –regex 匹配‘db.table’的正規表示式
  • -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 例子

mydumper /
--database=$DB_NAME /
--host=$DB_HOST /
--user=$DB_USER /
--password=$DB_PASS /
--outputdir=$DB_DUMP /
--rows=500000 /
--compress /
--build-empty-files /
--threads=2 /
--compress-protocol

Mydumper 輸出資料的說明

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

輸出分為兩部分

表結構

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

dbname.tablename-schema.sql.gz

資料

每個表名跟著按 –rows 引數所切塊的數量, 建立檔名字為:

dbname.tablename.0000n.sql.gz

“n”從0開始.

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

myloader /
--database=$DB_NAME /
--directory=$DB_DUMP /
--queries-per-transaction=50000 /
--threads=10 /
--compress-protocol /
--verbose=3

相關文章