mydumper是一个第三方工具,能支持多线程快速对mysql数据库进行备份和还原操作;
并且还支持结构和数据分离备份和还原,提高还原稳定性;
下面就简单介绍下如何使用;
一、安装工具
rpm -ivh mydumper-0.17.2-19.el8.x86_64.rpm
二、备份
1、备份结构
erp_jcsj_100: 数据库名
erp_jcsj_100_stru_20250114.sql : 生成数据库结构备份文件
-- 备份结构
mysqldump --databases erp_jcsj_100 --single-transaction --order-by-primary --no-create-db --hex-blob --add-drop-table --no-data --routines --events --set-gtid-purged=OFF -u root -p'XXXXX' -h 10.52.62.242 -P 3306 |sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' -e '/USE `erp_jcsj_100`;/d' > erp_jcsj_100_stru_20250114.sql &
m
2、备份数据
ompxnycbzbaerp_product : 数据库名
/data/dbBackup/projectManagerSuite/ompxnycbzbaerp_product_data_20250214 :备份数据的目录和文件名
mydumper -h 10.52.61.242 -u root -p 'XXXXXX' -a --database=ompxnycbzbaerp_product --outputdir=/data/dbBackup/projectManagerSuite/ompxnycbzbaerp_product_data_20250214 --compress --build-empty-files --no-schemas --threads=8 --long-query-guard=300 --complete-insert --verbose=1 --logfile=ompxnycbzbaerp_product_data-$(date +%Y%m%d-%H%M).log &
三、还原
1、还原结构
ssh到数据库所在的机器,分6个步骤执行
-- 还原结构
1、mysql -h10.52.61.242 -uroot -p'XXXXX' -A -v
2、tee restore.log
3、use ompxnycbzbaerp_product
4、source ompxnycbzbaerp_product_stru_20250228.sql
5、notee
6、quit
2、还原数据
/data/dbBackup/projectManagerSuite/erp_jcsj_100_data_20250102 : 数据备份的路径和备份文件
myloader -h 10.51.62.242 -u root -p 'XXXX' -a --database=erp_jcsj_100 -d /data/dbBackup/projectManagerSuite/erp_jcsj_100_data_20250102 -t 10 -v 1 --skip-triggers &