备份数据库
备份就是把数据库的当前状态导出为一个文件,出了问题可以恢复——是数据安全的最后一道防线。
MySQL 最常用的备份工具是 mysqldump,能导出整个库或指定表的结构和数据为 SQL 脚本。逻辑备份的优点是跨版本兼容、可读可编辑;缺点是恢复速度慢,大库可能需要很久。对于生产环境,物理备份(如 Percona XtraBackup)更适合大数据库。
备份策略通常分全量备份加增量备份。全量备份每天一次,增量备份每小时一次。备份文件要妥善保管,最好存到异地或云存储。
以飞翔科技为例。备份 feixiang_db 数据库:
# 完整备份(在命令行执行,不是 SQL)
mysqldump -u root -p feixiang_db > feixiang_backup_20240604.sql
# 只备份结构和数据,不含创建库语句
mysqldump -u root -p --databases feixiang_db > feixiang_full.sql
# 只备份员工表
mysqldump -u root -p feixiang_db employees > employees_backup.sql
# 只备份结构(无数据)
mysqldump -u root -p --no-data feixiang_db > feixiang_schema.sql
# 恢复备份
mysql -u root -p feixiang_db < feixiang_backup_20240604.sql
备份的黄金法则:定期备份、验证可恢复、异地存储、保留多个版本。备份文件能成功恢复才算有效备份,光有文件不代表安全。