MySQL全库备份策略

本文详细介绍了MySQL数据库的全库备份策略,包括创建备份脚本、设置定时任务进行每日自动备份,以及如何在备份目录中清理超过一周的旧备份文件。同时,还提供了如何使用mysqldump命令进行数据库的恢复操作。

MySQL全库备份策略

1、 创建文件夹用于存放备份的数据库文件
在这里插入图片描述
语句:mkdir /home/dbback
2、 创建脚本文件bkDatabaseName.sh
在这里插入图片描述
语句:touch bkDatabaseName.sh
3、 在脚本文件中输入所要执行的语句
在这里插入图片描述
语句:vim bkDatabaseName.sh
脚本内容:
在这里插入图片描述
db_user=“root”
db_passwd=“new-password”
db_name=“sudipc”
backup_dir="/home/dbback"
time=" ( d a t e + " m y s q l d u m p − u (date +"%Y%m%d%H%M%S")" mysqldump -u (date+"mysqldumpudb_user -p$db_passwd d b n a m e > " db_name > " dbname>"backup_dir/ d b n a m e " " db_name"_" dbname""time.sql "

注释:
db_user:MySQL的用户名
db_passwd:MySQL的密码
db_name:所要备份的数据库名称
backup_dir:备份文件存放的物理路径
注意:
注意 -p 和 d b p a s s w d 之 间 没 有 空 格 , 不 然 db_passwd之间没有空格,不然 dbpasswddb_passwd会被当做参数[数据库名]来解析
4、 运行脚本
在这里插入图片描述
语句:./bkDatabaseName.sh

若不能运行,需要先给脚本文件增加执行权限

定时备份策略

1、 更改备份策略的执行权限
在这里插入图片描述
语句:chmod 777 /home/dbback/bkDatabaseName.sh
2、 创建定时任务
在这里插入图片描述
语句:crontab -e
在这里插入图片描述
语句:00 11 * * * /home/dbback/bkDatabaseName.sh
表示在每天的11点自动运行bkDatabaseName.sh脚本
3、 重启定时任务
使用 service crond restart 或者/etc/init.d/crond restart(Centos7下为systemctl restart crond)
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
4、 定时删除
在bkDatabaseName.sh中增加定时删除命令
在这里插入图片描述
语句:find $backup_dir -name $db_name"*.sql" -type f - mtime +7 -exec rm -rf {} ; > /dev/null 2>&1

注释:
-type f 表示查找普通类型的文件,f 表示普通文件,可不写
-mtime +7 按照文件的更改时间来查找文件,+7表示文件更改时间距现在7天以前;如果是-mmin +7表示文件更改时间距现在7分钟以前
-exec rm {} ; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对{ },一个空格和一个\,最后是一个分号;
/dev/null 2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面;其中的& 表示让该命令在后台执行

还原数据库

在这里插入图片描述

语句:mysql -u root -p sudipc < /home/dbback/sudipc_20190606114314.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值