定期备份MYSQL数据库(Linux)
要定期保存 MySQL 数据库,通常可以使用 自动化备份脚本 配合 定时任务
1. 创建 MySQL 备份脚本
可以编写一个简单的 Shell 脚本(在 Linux 上)或 Batch 脚本(在 Windows 上)来备份数据库。
#!/bin/bash
# 定义备份参数
BACKUP_DIR="/path/to/backup" # 备份存储目录
DATE=$(date +"%Y%m%d%H%M") # 备份文件名中的时间戳
DB_USER="root" # MySQL 用户
DB_PASSWORD="password" # MySQL 密码
DB_NAME="your_database_name" # 要备份的数据库名
# 创建备份
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
# 可选:删除旧备份文件,保留最近7天的备份
find $BACKUP_DIR -type f -name "*.sql" -mtime +7 -exec rm {} \;
# 打印备份完成信息
echo "Backup of database '$DB_NAME' completed on $DATE."
将脚本保存到某个路径,并记得替换以下部分:
BACKUP_DIR
:备份文件保存路径DB_USER
:MySQL 用户名DB_PASSWORD
:MySQL 密码DB_NAME
:要备份的数据库名
执行权限
chmod +x /path/to/backup_mysql.sh
2.使用定时任务进行自动化
使用定时任务进行自动化
# 编辑crontab文件
crontab -e
# 添加一个定时任务,定期执行备份脚本(例如每天凌晨 2 点执行备份)
0 2 * * * /path/to/backup_mysql.sh
systemctl status crond #查看定时任务状态,确保服务是开启的
3.验证备份
定期检查备份文件,确保其内容完整无误。可以使用以下命令恢复备份以测试
mysql -u root -p your_database_name < /path/to/backup/your_database_name-yyyyMMddHHmm.sql