MySQL之多線程遷移工具MyDumper使用指南
操作環(huán)境:CentOS 7
MySQL版本:5.7.42
注意:在執(zhí)行任何數(shù)據(jù)庫操作之前,請確保您擁有必要的權(quán)限和備份數(shù)據(jù)的合法性!
一、數(shù)據(jù)遷移工具mydumper的原理及特性
1.1 大型數(shù)據(jù)庫備份
mydumper 被設計用來備份大型的 MySQL 數(shù)據(jù)庫,特別是當傳統(tǒng)的 mysqldump 因為性能或時間限制而不適用時。它可以更快速地備份大量數(shù)據(jù)。
1.2 并行備份
mydumper 采用多線程并行備份數(shù)據(jù),這意味著可以同時備份多個表,提高了備份效率。
1.3 邏輯備份
與物理備份工具不同,mydumper 執(zhí)行邏輯備份,它導出數(shù)據(jù)庫中的數(shù)據(jù)和結(jié)構(gòu)(表、視圖、存儲過程等)而不是直接復制數(shù)據(jù)庫文件。這使得備份文件能夠跨不同版本的 MySQL 服務器進行還原,因為它們是 SQL 語句的文本文件。
1.4 不鎖表備份
mydumper 支持使用 --lock-all-tables 選項,它只會在備份的開始和結(jié)束時鎖定表,而在備份過程中允許其他操作,減少了對生產(chǎn)環(huán)境的干擾。
1.5 開源工具
mydumper 是一個開源工具,可以自由使用和定制,適用于各種 MySQL 數(shù)據(jù)庫備份需求。
二、數(shù)據(jù)的備份及還原使用
2.1 安裝mydumper工具
注:安裝dumper的方式有很多種,大家可以根據(jù)實際情況,選擇需要的版本進行安裝!
github上直接下載rpm包進行安裝。
執(zhí)行下載wget https://github.com/mydumper/mydumper/releases/download/v0.13.1-2/mydumper-0.13.1-2.el7.x86_64.rpm
圖片
下載完成后,執(zhí)行安裝:
rpm -ivh mydumper-0.13.1-2.el7.x86_64.rpm
此mydunmper版本為0.13.1:
圖片
安裝完成后會生成兩個二進制文件 mydumper 和 myloader 位于 /usr/bin/mydumper 目錄下:
圖片
至此,mydumper安裝完成!
2.2 使用mydumper
在使用之前我們可以運行mydumper --help查看選項參數(shù)(具體參數(shù)大家可以前往官網(wǎng)查看):
圖片
如需備份abc庫內(nèi)的test_table表,可以使用如下命令:
mydumper -S 指定套接字文件 -u 用戶名 -p 密碼 -B 庫名 -T 表名 -t 線程數(shù) -o 備份目錄 來進行備份(大家可根據(jù)自己的需求合理使用上述參數(shù))
mydumper -S /tmp/mysql.sock -u root -p lhw -B abc -T abc.test_table -t 4 -o /tmp/backup
圖片
備份執(zhí)行成功,已在/tmp/backup下生成備份文件。
以下是各文件的作用:
- abc-schema-create.sql——文件是用于創(chuàng)建數(shù)據(jù)庫的sql腳本
- abc.test_table.00000.sql——存儲表數(shù)據(jù)
- abc.test_table-metadata——存儲元數(shù)據(jù)
- abc.test_table-schema.sql——存儲表結(jié)構(gòu)
- metadate——代表備份時的重要信息
后續(xù)導入備份數(shù)據(jù)可以運行 myloader --help 命令來查看myloader的完整文檔以獲取更多信息。
例:
myloader -S /tmp/mysql.sock -u root -p lhw -B abc -d /tmp/backup
總 結(jié):
mydumper 是一個功能強大的多線程遷移工具,用于備份 MySQL 數(shù)據(jù)庫。通過邏輯備份,增量備份等特性,它提供了高度靈活性,并且易于使用。遵循上述步驟,你可以輕松地備份和還原 MySQL 數(shù)據(jù)庫,以確保數(shù)據(jù)的安全性和可恢復性。