mysql如何开启自动备份功能

msyql / 67人浏览 / 0人评论

最近部署客户机器,要求数据库每天自动备份,要求写在第二块硬盘上,因为我不知道centos怎么切换第二块硬盘,索性在第一块硬盘上,新建一个文件夹,写个shell脚本,挂个系统定时任务,让其到点自动执行,顺便做个分享,这个手法相对很喽,但实话实说,我也没有更好的办法。

1.创建备份shell脚本

#!/bin/bash
#设置备份路径
BAKDIR=/data/mysql/backup/
#设置备份文件名
BAKFILE=mysql-$(date +%Y%m%d%H%M%S).tar.gz
#设置MYSQL用户名和密码
MYSQL_USER=root
#这里会提示mysql密码泄露的问题,不知道咋解决,欢迎大家留言讨论,简单粗暴的先实现功能吧
MYSQL_PASSWORD=root   
#设置MYSQL主机地址
MYSQL_HOST=localhost
#设置MYSQL备份的数据库名称
MYSQL_DATABASE=test
#执行备份命令
mysqldump -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE | gzip >$BAKDIR$BAKFILE
#备份完成后,在备份路径下查看是否生成备份文件

2.创建crontab任务,让其自动执行shell脚本,记得给文件夹和shell脚本可执行权限

将上述备份脚本保存并命名为“mysql_backup.sh”,然后使用“crontab -e”命令打开定时任务编辑器,添加以下内容

# 设置每天凌晨1点定时执行备份计划。
0 1 * * * sh /data/mysql/mysql_backup.sh

3.启动crontab服务,确保你的脚本按时执行

让crontab执行之前,自己先执行一下试试,看你的脚本好不好使,一个是执行权限,另一个是备份目录是否存在,是否能写入? 都没问题了,开启crontab任务

service crond start

至此,MySQL自动备份功能已经开启成功,每天凌晨1点就会自动备份指定的数据库。您可以根据业务需求修改备份时间和数据库名称等参数,以满足实际需求。 至于crontab操作,可以参考:用crontab 创建任务的案例,介绍crontab的基本操作

评论列表

还没有人发表评论

发表评论 取消回复