mysqlpump原理及實戰


MySQL5.7之后多了一個備份工具:mysqlpump。它是mysqldump的一個衍生,mysqldump就不多說明了,現在看看mysqlpump到底有了哪些提升,可以查看官方文檔,這里針對如何使用做下說明。
mysqlpump和mysqldump一樣,屬於邏輯備份,備份以SQL形式的文本保存。邏輯備份相對物理備份的好處是不關心undo log的大小,直接備份數據即可。它最主要的特點是:
並行備份數據庫和數據庫中的對象的,加快備份過程。
更好的控制數據庫和數據庫對象(表,存儲過程,用戶帳戶)的備份。
備份用戶賬號作為帳戶管理語句(CREATE USER,GRANT),而不是直接插入到MySQL的系統數據庫。
備份出來直接生成壓縮后的備份文件。
備份進度指示(估計值)。
重新加載(還原)備份文件,先建表后插入數據最后建立索引,減少了索引維護開銷,加快了還原速度。
備份可以排除或則指定數據庫。

重點參數介紹

1. 支持基於表的多線程導出功能(--default-parallelism,默認為2,--parallel-schemas,控制並行導出的庫)
2. 導出的時候帶有進度條(--watch-progress,默認開啟)
3. 支持直接壓縮導出導入(參數--compress-output,而且支持ZLIB和LZ4)
--set-gtid-purged=OFF   5.7.18后加入的參數,導入庫中重新生產GTID,而不用原來的
5.7.9以后版本 --default-parallelism 多線程才能與--single-transaction合用.
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > aa.sql

備份myttest庫下的tt表
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 mytest tt --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mytest_tt.sql
備份mytest庫
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 mytest --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mytest_fullbak.sql
備份mysql庫和mytest庫
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --databases mysql mytest --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mysql_mytest_fullbak.sql
備份所有數據庫
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --all-databases --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/all_fullbak.sql
 

打開general log執行

time /usr/local/mysql/bin/mysqldump -uroot -pmsds007 --single-transaction --master-data=2 -A -S /app/mysqldata/3306/mysql.sock > db3306-`date +%Y%m%d`.sql

time /usr/local/mysql/bin/mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --all-databases --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/all_fullbak.sql

看general log的詳細信息

 

原理圖

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM