温馨提示×

如何备份linux mysql数据

小樊
34
2026-10-12 13:39:28
栏目: 云计算

在 Linux 上备份 MySQL 数据,常见、可靠的做法是使用 mysqldump 或 物理备份(如 Percona XtraBackup)。下面按常用程度和场景给你说明。


一、最常用:使用 mysqldump 逻辑备份(推荐新手)

1️⃣ 备份单个数据库

mysqldump -u root -p dbname > dbname_$(date +%F).sql

2️⃣ 备份所有数据库

mysqldump -u root -p --all-databases > all_db_$(date +%F).sql

3️⃣ 备份并压缩(节省空间)

mysqldump -u root -p dbname | gzip > dbname_$(date +%F).sql.gz

4️⃣ 常用安全参数(生产推荐)

mysqldump -u root -p \
  --single-transaction \
  --routines \
  --triggers \
  --events \
  dbname > dbname.sql

✅ --single-transaction:对 InnoDB 不锁表
✅ --routines/triggers/events:备份存储过程和事件


二、恢复 MySQL 数据

恢复单个数据库

mysql -u root -p dbname < dbname.sql

恢复压缩备份

gunzip < dbname.sql.gz | mysql -u root -p dbname

三、自动化备份(推荐)

示例:每天凌晨备份

crontab -e

添加:

0 2 * * * mysqldump -u root -p'password' --all-databases | gzip > /backup/mysql_$(date +\%F).sql.gz

⚠️ 建议:

  • 备份目录单独挂载
  • 定期清理旧备份
  • 不要明文密码(可用 ~/.my.cnf)

四、物理备份(大数据量推荐)

使用 Percona XtraBackup

适合:

  • 几十 GB 以上
  • 主从环境
  • 热备份
xtrabackup --backup --target-dir=/backup/mysql

优点: ✅ 不阻塞业务
✅ 恢复快
❌ 配置稍复杂


五、备份注意事项(很重要)

✅ 定期 恢复演练
✅ 备份文件权限控制(600)
✅ 异地/云存储备份
✅ 主从架构可从容库备份


如果你愿意,可以告诉我:

  • MySQL 版本
  • 数据量大小
  • 是否主从
  • 是否 Docker

我可以直接给你可用的备份脚本。

0 踩