温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

服务器运维MySQL备份怎么做

发布时间:2026-07-01 05:38:47 来源:亿速云 阅读:88 作者:小樊 栏目:系统运维

服务器运维中,MySQL 备份是核心基础工作,一般根据业务规模和安全级别,采用逻辑备份 + 物理备份 + 备份策略组合。下面按实战常用方案给你系统讲清楚。


一、备份类型(先搞清楚)

类型 说明 常用工具
逻辑备份 导出 SQL mysqldumpmydumper
物理备份 直接拷贝数据文件 xtrabackup
增量备份 只备份变化数据 xtrabackup
全量备份 完整数据 mysqldump / xtrabackup

生产环境推荐:xtrabackup 物理备份 + mysqldump 辅助


二、最常用方案(生产推荐)

✅ 方案一:mysqldump(逻辑备份,适合中小库)

1️⃣ 全库备份

mysqldump -uroot -p \
--single-transaction \
--routines --triggers --events \
--all-databases > /backup/mysql_full_$(date +%F).sql

✅ 参数说明:

  • --single-transaction:InnoDB 不锁表
  • --routines:存储过程
  • --triggers:触发器
  • --events:事件

2️⃣ 备份单个库

mysqldump -uroot -p db_name > /backup/db_name_$(date +%F).sql

3️⃣ 还原

mysql -uroot -p < /backup/mysql_full_2026-01-21.sql

⚠️ 缺点:

  • 数据大时慢
  • 恢复时间长

三、生产级方案:XtraBackup(强烈推荐)

✅ 适合:

  • 数据量 > 10G
  • 主从架构
  • 高可用环境

1️⃣ 安装

yum install percona-xtrabackup-80 -y

2️⃣ 全量备份

xtrabackup --backup \
--target-dir=/backup/xtra_full_$(date +%F) \
--user=root --password=密码

3️⃣ 准备备份(必须)

xtrabackup --prepare \
--target-dir=/backup/xtra_full_2026-01-21

4️⃣ 恢复

systemctl stop mysqld
rm -rf /var/lib/mysql/*
xtrabackup --move-back \
--target-dir=/backup/xtra_full_2026-01-21
chown -R mysql:mysql /var/lib/mysql
systemctl start mysqld

✅ 优点:

  • 热备份
  • 恢复快
  • 支持增量

四、增量备份(节省空间)

# 第一次全量
xtrabackup --backup --target-dir=/backup/full

# 增量
xtrabackup --backup \
--target-dir=/backup/inc1 \
--incremental-basedir=/backup/full

恢复时:

xtrabackup --prepare --apply-log-only --target-dir=/backup/full
xtrabackup --prepare --target-dir=/backup/full --incremental-dir=/backup/inc1

五、备份策略(必做)

✅ 推荐策略

时间 操作
每天凌晨 全量备份
每 6 小时 binlog 备份
每周 异地备份

✅ 自动清理旧备份

find /backup -name "*.sql" -mtime +7 -delete

六、binlog 备份(救命用)

开启 binlog

[mysqld]
log-bin=mysql-bin
server-id=1

备份 binlog

cp /var/lib/mysql/mysql-bin.* /backup/binlog/

✅ 用于:

  • 恢复到秒级
  • 主从同步

七、备份校验(很多人忽略)

mysql -uroot -p -e "SHOW MASTER STATUS;"

✅ 定期检查:

  • 备份文件大小
  • 是否能正常恢复
  • 恢复演练(至少半年一次)

八、常见错误

❌ 只备份 SQL,不备份 binlog
❌ 备份目录权限不对
❌ 备份后不校验
❌ 备份放在同一台服务器


九、简单总结(一句话)

小库用 mysqldump,大库用 xtrabackup,binlog 必须开,备份一定要验证。


如果你愿意,我可以:

  • ✅ 给你一套 自动备份脚本
  • ✅ 按 主从 / 单机 / 大表 给你定制方案
  • ✅ 帮你设计 RPO / RTO

直接告诉我你的 MySQL 版本 + 数据量 + 是否主从 即可。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI