共计 1200 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
今天就跟大家聊聊有关怎么在 MySQL 中设置定时备份数据库,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1. 查看 mysqldump
root@laowang:/# which mysqldump
/usr/bin/mysqldump
2. 编写脚本
编辑 my.cnf 文件, 指定账号与密码, 然后在脚本中引用
root@laowang:/# vim /etc/my.cnf
[mysqldump]
user=root
password=root
脚本文件
root@laowang:/var/backups# vim mysql_backup.sh
#!/bin/sh
#################################################
# 备份数据库
#################################################
#mysqldump 备份程序执行路径
DUMP=/usr/bin/mysqldump
#备份文件存放路径
OUT_DIR=/var/database
#备份文件所属权限
LINUX_USER=root
#要备份的数据库名字
DB_NAME=laowang
#备份的天数, 之前的删除
DAYS=1
#进入备份存放目录
cd $OUT_DIR
#获取当前系统时间
DATE=`date +%Y_%m_%d`
#备份数据库的文件名
OUT_SQL=$DB_NAME _$DATE.sql
#最终保存的数据库备份文件名
TAR_SQL=$DB_NAME _$DATE.tar.gz
#开始执行备份数据库
$DUMP --defaults-extra-file=/etc/my.cnf --default-character-set=utf8 $DB_NAME $OUT_SQL
#压缩为.tar.gz 格式
tar -czf $TAR_SQL ./$OUT_SQL
#删除.sql 格式的备份文件
rm $OUT_SQL
#更改备份数据库文件的所有者
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL
#删除 30 天前的备份文件 (注意:{} \; 中间有空格 )
find $OUT_DIR -name *.tar.gz -type f -mtime +$DAYS -exec rm -f {} \;
3. 定时计划
root@laowang:/# crontab -e
# m h dom mon dow command
10 10 * * * /var/backups/mysql_backup.sh
ctrl+X 退出
y 保存修改
看完上述内容,你们对怎么在 MySQL 中设置定时备份数据库有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。
向 AI 问一下细节
正文完