FORMA

备份与恢复

MySQL 数据备份用于灾难恢复、迁移与合规。常用方式包括逻辑备份(mysqldump)、物理备份(Percona XtraBackup 等)以及云厂商快照;本节介绍最通用的 mysqldump 与恢复流程。

逻辑备份(mysqldump)

mysqldump 将表结构和数据导出为 SQL 文件,适合中小型库、跨版本迁移。

备份单个库

bash
mysqldump -u backup_user -p \
  --single-transaction \
  --routines --triggers \
  school > school_$(date +%Y%m%d).sql
参数说明
--single-transactionInnoDB 一致性快照(不锁表),仅对 InnoDB 有效
--routines导出存储过程、函数
--triggers导出触发器

备份全实例(慎用)

bash
mysqldump -u backup_user -p --all-databases > all_$(date +%Y%m%d).sql

仅结构或仅数据

bash
mysqldump -u backup_user -p --no-data school > school_schema.sql
mysqldump -u backup_user -p --no-create-info school > school_data.sql

恢复

bash
mysql -u root -p school < school_20250425.sql

若库不存在,先创建:

sql
CREATE DATABASE school CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

生产环境建议

  • 使用专用备份账号,仅授予 SELECTLOCK TABLES(视方式而定)、RELOAD 等必要权限。
  • 定期做恢复演练,确认备份文件可导入且数据完整。
  • 大库或低停机要求:评估物理备份、主从复制、云 RDS 自动备份等方案。
  • 敏感备份文件加密存储,控制访问权限。

参考文献

资料说明
mysqldump官方
Backup and Recovery概述
用户权限备份账号授权

Series

mysql

2 / 11