«

MySQL 备份恢复实战

时间:2026-10-8 07:14     作者:emer     分类: 无


MySQL 备份恢复实战

数据库备份是运维的基本功,数据丢了就找不回来了。

1. 备份方式

1)物理备份:

2)逻辑备份:

2. mysqldump 备份

备份整个数据库:

mysqldump -u root -p 数据库名 > backup.sql

备份单个表:

mysqldump -u root -p 数据库名 表名 > table.sql

备份所有数据库:

mysqldump -u root -p --all-databases > all.sql

3. 恢复数据

mysql -u root -p 数据库名 < backup.sql

注意: 恢复前要先创建数据库。

4. 压缩备份

# 备份并压缩
mysqldump -u root -p 数据库名 | gzip > backup.sql.gz

# 恢复压缩文件
gunzip < backup.sql.gz | mysql -u root -p 数据库名

5. 定时备份脚本

#!/bin/bash
# 数据库备份脚本

DB_USER="root"
DB_PASS="123456"
DB_NAME="test"
BACKUP_DIR="/data/backup"
DATE=$(date +%Y%m%d)

# 创建备份目录
mkdir -p $BACKUP_DIR

# 备份
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/$DB_NAME_$DATE.sql.gz

# 删除7天前的备份
find $BACKUP_DIR -name "*.sql.gz" -mtime +7 -delete

加 crontab 定时执行:

# 每天凌晨3点备份
0 3 * * * /bin/bash /root/backup.sh

6. 常见问题

1)备份太大:

2)备份报错:

3)恢复失败:

7. 最佳实践

总结

MySQL 备份恢复要点:

做运维,数据备份永远是第一位的。

标签: MySQL 数据库 运维 备份 恢复