SQL数据备份核心是选对方式、定好策略、验好结果:日常用mysqldump导出,生产结合binlog全量+增量,误删靠binlog回滚,备份文件须异地存储并校验演练。

SQL数据备份核心就三点:选对方式、定好策略、验好结果。不搞复杂理论,直接上高频场景和能立刻用的操作。
一、日常导出单表或库(适合开发/测试环境)
用 mysqldump 最常用,命令简单、兼容性好,适合手动备份或定时脚本。
- 备份整个数据库:mysqldump -u root -p mydb > mydb_20240401.sql
- 只备份某张表:mysqldump -u root -p mydb users orders > users_orders.sql
- 加 --single-transaction 可避免锁表(InnoDB适用)
- 加 --routines 才会导出存储过程和函数
二、生产环境自动全量+增量备份(防误删/故障恢复)
不能只靠 mysqldump,得搭配 binlog 做增量。MySQL 必须开启 binlog(log-bin=ON),并设好格式(推荐 ROW)。
- 每天一次全备(例如凌晨2点):mysqldump --all-databases --single-transaction > full_$(date +%F).sql
- 每小时截取 binlog 增量:mysqlbinlog --start-datetime="2024-04-01 01:00:00" --stop-datetime="2024-04-01 02:00:00" /var/lib/mysql/mysql-bin.000001 > inc_0100_0200.sql
- 恢复时先还原全备,再按顺序重放 binlog(跳过误操作那几行可用 --stop-position)
三、快速恢复误删数据(紧急救火)
删了表、清了库、改错字段?别慌,只要 binlog 开着,90% 能拉回来。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~