Skip to content

MySQL 备份恢复

备份是数据库运维的生命线。本文记录 MySQL 常用的备份恢复方案。

方式 优点 缺点 适用场景
mysqldump 简单、逻辑备份 慢、锁表 小数据库、数据迁移
XtraBackup 热备、增量 复杂 生产环境
LVM 快照 快、一致 需要 LVM 快速备份
Terminal window
mysqldump -u root -p --all-databases > all.sql
Terminal window
mysqldump -u root -p --single-transaction mydb > mydb.sql
Terminal window
mysqldump -u root -p --no-data mydb > schema.sql
Terminal window
mysql -u root -p < all.sql
Terminal window
mysql -u root -p mydb < mydb.sql
Terminal window
yum install percona-xtrabackup-24
Terminal window
innobackupex --user=root --password=xxx /backup/
Terminal window
innobackupex --apply-log /backup/2024-01-01_00-00-00/
Terminal window
innobackupex --copy-back /backup/2024-01-01_00-00-00/
chown -R mysql:mysql /var/lib/mysql
  1. 每日全量备份 + 每小时 binlog
  2. 定期验证备份可恢复
  3. 备份异地存放
  4. 设置备份保留周期