

新闻资讯
技术学院答案:MySQL定时备份通过cron和mysqldump结合实现。先手动测试备份命令,确保路径权限正确;再编写包含压缩和删除7天前旧备份的shell脚本;最后配置crontab每天凌晨2点自动执行脚本,建议使用.my.cnf存储密码以提升安全性,并定期检查磁盘空间与备份完整性。
MySQL定时备份数据库主要通过结合系统定时任务(如Linux的cron)和MySQL自带的导出工具mysqldump来实现。下面介绍具体配置方法,适用于大多数Linux环境。
在设置自动定时任务前,先手动执行一次备份命令,确保路径和权限正确。
基本语法:
mysqldump -u [用户名] -p[密码] [数据库名] > /路径/备份文件.sql
示例:
mysqldump -uroot -pmypassword mydb > /backup/mydb_$(date +%F).sql
说明:
名,便于区分编写shell脚本,便于定时任务调用。
创建脚本文件:
vim /backup/backup_mysql.sh
写入内容:
#!/bin/bash BACKUP_DIR="/backup" DATE=$(date +%Y%m%d_%H%M%S) DB_NAME="mydb" USER="root" PASSWORD="mypassword"mysqldump -u$USER -p$PASSWORD $DB_NAME | gzip > $BACKUP_DIR/${DBNAME}$DATE.sql.gz find $BACKUP_DIR -name "*.sql.gz" -mtime +7 -delete
说明:
使用crontab添加定时执行规则。
编辑当前用户的定时任务:
crontab -e
添加一行(例如每天凌晨2点执行):
0 2 * * * /backup/backup_mysql.sh
含义:
保存退出后,系统会自动加载任务。
提高备份过程的安全性和稳定性:
基本上就这些,配置完成后MySQL就能自动定时备份了。关键是脚本要能独立运行,再通过cron调度即可。不复杂但容易忽略权限和路径问题。