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