首页 > 其他分享 >mydumper

mydumper

时间:2024-04-09 17:11:59浏览次数:22  
标签:-% mydumper dump 备份 echo date

https://blog.csdn.net/qq_43692950/article/details/136711943

一、安装mydumper
备份没问题,还挺稳妥的,就是费时间;测了一下,10个G的数据备份大概10分钟,还原大概30分钟

centos安装:
直接安装rpm包即可;如果后续不能用了,再百度吧
下载地址:https://github.com/mydumper/mydumper/releases/tag/
包名:mydumper-0.14.3-1.el7.x86_64.rpm
安装:`rpm -ivh mydumper-0.14.3-1.el7.x86_64.rpm`
Ubuntu22.04安装:
先装依赖:
下载地址:https://mirrors.aliyun.com/ubuntu/pool/main/g/gcc-12/
包名:libatomic1_12.1.0-2ubuntu1~22.04_amd64.deb;如果系统更新过就安装:libatomic1_12.3.0-1ubuntu1~22.04_amd64.deb
再装软件:
下载地址:https://github.com/mydumper/mydumper/releases/tag/
包名:mydumper_0.14.5-2.jammy_amd64.deb
// 先装依赖
`dpkg -i libatomic1_12.1.0-2ubuntu1~22.04_amd64.deb`
// 再装软件
`dpkg -i mydumper_0.14.5-2.jammy_amd64.deb`
// 查看版本

mydumper -V

二、备份脚本
Tip:建议把【mydumper】安装到目标服务器,非常建议
不需要提前创建数据库
2.1、指定数据表备份

指定数据库备份/还原脚本
vim mns.sh
#!/bin/bash
echo `date "+%Y-%m-%d %H:%M:%S"`"[copydate开始]" 
## 备份源库数据
copydata() {
mydumper -u root  -p '123456' -h 192.168.0.172  -P 3306 --regex '^(mns_db_back\.security_role$|mns_db_back\.system_app_page$)' -C -c -o /mnt/backup/data -v 2 --logfile /mnt/backup/mydumper.log
}
# 还原到目标库
restore() {
myloader -u root  -p '123456' -h 127.0.0.1  -P 3306 --regex '^(mns_db_back\.security_role$|mns_db_back\.system_app_page$)' -C -d /mnt/backup/data -v 2 --logfile /mnt/backup/myloader.log 
}
# 由于我的mydumper安装在目标库上,所有目标库IP 使用 127.0.0.1  
copydata
echo `date "+%Y-%m-%d %H:%M:%S"`"[copydata完成]"
restore
echo `date "+%Y-%m-%d %H:%M:%S"`"[restore完成]"

2.1、全量备份

全量备份/还原脚本
#!/bin/bash
echo `date "+%Y-%m-%d %H:%M:%S"`"[copydate开始]" 
## 备份源库数据
copydata() {
mydumper -u root  -p '123456' -h 192.168.0.172  -P 3306 -B mns_db_back -C -c -o /mnt/backup/data -v 2 --logfile /mnt/backup/mydumper.log
}
# 还原到目标库
restore() {
myloader -u root  -p '123456' -h 127.0.0.1  -P 3306 -B mns_db_back -C -d /mnt/backup/data -v 2 --logfile /mnt/backup/myloader.log 
}
# 由于我的mydumper安装在目标库上,所有目标库IP 使用 127.0.0.1  
copydata
echo `date "+%Y-%m-%d %H:%M:%S"`"[copydata完成]"
restore
echo `date "+%Y-%m-%d %H:%M:%S"`"[restore完成]"

三、备份实测

每天凌晨5点,自动全量备份一次,拷贝到备份目录,带日期
// 第一步,先编写全量备份脚本,备份完成的data需要加日期,方便移动到history目录
vim /dump/dump.sh
#!/bin/bash
echo `date "+%Y-%m-%d %H:%M:%S"`"[copydate开始]" 
## 备份源库数据
copydata() {
mydumper -u root  -p 'Iyungu@2023' -h 192.168.0.186  -P 3306 -B mns_db -C -c -o /dump/data_$(date +\%Y\%m\%d) -v 2 --logfile /dump/mydumper.log
}

copydata
echo `date "+%Y-%m-%d %H:%M:%S"`"[copydata完成]"

// 因为下次备份会覆盖【/dump/data】的内容,所以备份成功之后需要把【/dump/data】的文件迁移到别的目录,以便下次备份
echo `date "+%Y-%m-%d %H:%M:%S"`"[mv开始]"
mv /dump/data_$(date +\%Y\%m\%d) /dump/data_history/
echo `date "+%Y-%m-%d %H:%M:%S"`"[mv完成]"


// 第二步,添加定时任务
vim /etc/crontab
// 每天凌晨5点执行一次
00 05 * * *   root   /bin/bash /dump/dump.sh > /dump/logs/mydump_$(date +\%Y\%m\%d).log 2>&1
// 重启定时任务
service crond restart
这里有个小小的逻辑问题,就比如说,今天是20240402,备份的时候输出的时间就是20240402,但mydumper备份的数据其实是【20240401-20240402】4月1号5点-4月2号5点之间的数据,如果要恢复4月1号的数据,就需要用4月2号的备份还原,自己绕一下

标签:-%,mydumper,dump,备份,echo,date
From: https://www.cnblogs.com/qxle/p/18124155

相关文章

  • MyDumper/MyLoader的进阶玩法
    一、前言从mydumperv0.11.5版本开始,mydumper提供了--load-data参数,使用此参数导出的sql文件将不再是insert语句,而是loaddata语句。在MySQL官方文档中关于loaddata是这么描述的:Whenloadingatablefromatextfile,useLOADDATA.Thisisusually20timesfasterthanus......
  • MyDumper实战分享
    一、前言说起MySQL的逻辑备份,一般大家用的最多的是mysqldump,MySQL官方提供的逻辑导出的工具,简单易用,可以产生一致性备份。但是mysqldump只能单线程导出,导出速度有限。为了提升逻辑备份速度,MySQL官方推出了mysqlpump,支持多线程导出,一定程度上提升了导出速度。但是,mysqlpump只支持......
  • mydumper的简单使用
    mydumper导出#备份全部数据库,排除系统库mydumper-uroot-proot--regex'^(?!(mysql|sys|performance_schema|information_schema))'-e-G-R-E-D-v3--skip-tz-utc-o/backup-L/backup#备份全部数据库,包含触发器、事件、存储过程及函数mydumper-uroot-p......
  • mydumper和myloader
    mydumper及myloader用法mydumper-h192.168.182.128-usource-p123456-Bsource-t8-r10000-c--less-locking-v3-D-L/test/log/mydumper.log-o/test/data/myloader-h192.168.182.128-utarget-p123456-Btarget-e-t8-d/test/data/0/--overwrite-ta......
  • MySQL 逻辑备份工具 MyDumper
    1、依赖安装dnfinstall-ycmakegccgcc-c++gitmake2、mydumper下载和安装#下载wgethttps://github.com/mydumper/mydumper/releases/download/v0.14.1-1/my......
  • MyDumper介绍及使用
    MyDumper工具一、mydumper介绍mydumper负责导出MySQL数据库的一致备份myloader从mydumper读取备份,连接到目标数据库并导入备份。mydumper的github地址:https://github......
  • mydumper学习总结
    0简介mydumper是一款社区开源的逻辑备份工具。该工具主要由C语言编写,目前由MySQL、Facebook等公司人员开发维护。mydumper  负责导出MySQL数据库的一致备份m......