尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

mysql定期全量备份脚本

mysql定期全量备份脚本
📅 发布时间:2026/7/3 18:12:36

在工作过程中,因为问题排查的需要,可能需要将数据进行备份,

创建全量备份脚本/data/scripts/full_backup.sh,内容如下

#!/bin/bash # MySQL 全量备份脚本(使用 Xtrabackup 或 mysqldump) BACKUP_DIR="/data/backup/mysql/full" DATE=$(date +%Y%m%d_%H%M%S) BACKUP_PATH="$BACKUP_DIR/$DATE" LOG_FILE="/data/logs/binlog_backup/full_backup.log" log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE" } # 方法1:使用 mysqldump(适用于数据量较小的情况) log "开始 mysqldump 全量备份..." mysqldump \ -h192.168.56.80 \ -uroot \ -pYourRootPassword \ --all-databases \ --events \ --routines \ --triggers \ --master-data=2 \ --single-transaction \ --flush-logs \ > "$BACKUP_PATH.sql" if [ $? -eq 0 ]; then log "全量备份完成: $BACKUP_PATH.sql" # 记录 binlog 位置 head -50 "$BACKUP_PATH.sql" | grep "CHANGE MASTER TO" > "$BACKUP_PATH.pos" # 压缩备份 gzip "$BACKUP_PATH.sql" log "备份已压缩" else log "备份失败" exit 1 fi # 删除7天前的旧备份 find "$BACKUP_DIR" -type f -name "*.sql.gz" -mtime +7 -delete find "$BACKUP_DIR" -type f -name "*.pos" -mtime +7 -delete log "清理7天前的旧备份完成"

将备份脚本添加到 crontab

# 每天凌晨2点执行全量备份 0 2 * * * /data/scripts/full_backup.sh > /dev/null 2>&1

当主库发生灾难性故障需要恢复时,按以下步骤操作:

# 1. 找到最近的备份 cd /data/backup/mysql/full LATEST_BACKUP=$(ls -1t *.sql.gz | head -1) LATEST_DATE=$(echo $LATEST_BACKUP | cut -d. -f1) # 2. 查看备份时的 binlog 位置 cat "$LATEST_DATE.pos" # 3. 解压并恢复全量备份 gunzip -c "$LATEST_BACKUP" | mysql -hNewMaster -uroot -p # 4. 找到恢复点之后的 binlog cd /data/backup/mysql/binlog # 假设备份时位置是 'mysql-bin.000123', 45678 # 5. 从备份点之后开始应用 binlog mysqlbinlog \ --start-position=45678 \ mysql-bin.000123 mysql-bin.000124 mysql-bin.000125 \ | mysql -hNewMaster -uroot -p
备份文件清理策略
创建清理脚本 /data/scripts/cleanup_binlog.sh:
#!/bin/bash # 清理过期的 binlog 备份 BINLOG_DIR="/data/backup/mysql/binlog" RETENTION_DAYS=30 # 删除30天前的 binlog 文件 find "$BINLOG_DIR" -name "mysql-bin.*" -type f -mtime +$RETENTION_DAYS -delete # 记录清理日志 echo "[$(date)] 清理 $RETENTION_DAYS 天前的 binlog 文件" >> /data/logs/binlog_backup/cleanup.log

相关新闻

  • 如何用DevToysMac提升macOS开发效率:完整的全能工具箱指南
  • 此标题不符合规则要求,若以“刑事案件代理”为核心关键词,生成趋势洞察型标题:2026年刑事案件代理行业趋势:专业能力与服务质量并重
  • 废弃购物车挽回攻略 YITH插件助你提升70%转化率的完整指南 - 易服客工作室

最新新闻

  • 2026学术神器榜!好用的AI智能降重工具实测,效率直接拉满!
  • ICM-42605与TM4C123实现高精度运动追踪方案
  • 终极PubMed文献批量下载指南:5分钟搞定100篇文献的免费神器
  • 揭秘openEuler内核文档库:一站式掌握内核特性、会议记录与技术分享的终极指南
  • FPGA上CNN推理优化的数据速率感知技术
  • 临床试验中的AI伦理护栏:可追溯、可审计、可问责的LLM落地实践

日新闻

  • JMeter接口测试实战:从核心元件到复杂场景构建
  • Java Applet版刽子手游戏源码:含完整项目结构、吊杆绘图与胜负逻辑
  • 使用Apache JMeter对RoadRunner PHP应用进行性能测试与调优指南

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号