Centos7自动备份数据库

    • 创建备份存放的目录
    • 编写要执行的.sh脚本文件
    • 复制以下脚本:内容,要修改为自己的
    • 给脚本文件赋权
    • 修改mysql配置文件
    • 测试脚本是否能执行
    • 添加定时任务
    • 模拟恢复
    • 关于crontab服务的命令

创建备份存放的目录

mkdir /backup

编写要执行的.sh脚本文件

vim /backup/mybackup.sh

复制以下脚本:内容,要修改为自己的

#!/bin/bash
DATE=`date +%Y%m%d%H%M`             #every minute       时间
DATABASE=test                       #database name      数据库名字
DB_USERNAME=root                    #database username  数据库用户
DB_PASSWORD="数据库密码"            #database password  数据库密码
BACKUP_PATH=/backup            #backup pathhome/backup
mysqldump test   > /backup/${DATABASE}_${DATE}.sql

给脚本文件赋权

chmod +x /backup/mybackup.sh

修改mysql配置文件

vim /etc/my.cnf 
[mysqldump]
user=root
password=自己的数据库密码

退出保存 重启mysql服务!

systemctl restart mysqld

测试脚本是否能执行

./backup/mybackup.sh

如果不报错说明可以正常执行,接下来就是将脚本添加到定时任务当中去

添加定时任务

crontab -e
40 12 * * * /backup/mybackup.sh  每天中午12点40执行/home/backup/mybackup.sh脚本

控制台输出:crontab: installing new crontab 定时任务添加成功

模拟恢复

我们先删掉我们已备份的数据库

drop database class;

然后在数据库中建好我们要已删除的数据库名称

create database class;

然后退出数据库,找到备份数据库文件导回数据库

在这里插入图片描述

[root@localhost backup]# mysql -uroot -pzy44123  class 

丢失的数据库就回来了

关于crontab服务的命令

// 启动服务

systemctl start crond

// 关闭服务

systemctl stop crond

// 重启服务

systemctl restart crond

// 重新载入配置

systemctl reload crond

// 查询服务当前状态

systemctl status crond

你可能感兴趣的:(mysql,数据库,mysql,database)