Mydumper - MySQL數據庫備份工具

efx4 9年前發布 | 13K 次閱讀 Mydumper MySQL 數據庫服務器

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

via: http://www.ubuntugeek.com/mydumper-mysql-database-backup-tool.html

作者:ruchi 譯者:ictlyh 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

 本文由用戶 efx4 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!