mysql定时备份与恢复

1. 创建备份目录

cd /home
mkdir backup
cd backup
mkdir data
mkdir bin

2.创建备份脚本(在/home/backup/bin/下)

vim mysql_backup.sh

添加一下内容 /home/zhsq/mysql-5.5.41/bin/mysqldump要使用全路径,具体路径通过find /name mysqldump查询

#!/bin/bash
/home/zhsq/mysql-5.5.41/bin/mysqldump -uroot -p123456 test > /home/backup/data/test_$(date +%Y%m%d_%H%M%S).sql

#删除7天之前的备份文件
find $backupdir -name $db_name"a*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

 如果数据量比较大,可以用以下脚本

#!/bin/bash

#备份地址
backupdir=/home/backup/data
#备份文件后缀时间
time=_` date +%Y%m%d_%H%M%S `
#需要备份的数据库名称
db_name=test
#mysql 用户名
db_user=root
#mysql 密码
db_pass=123456
#mysqldump命令使用绝对路径
dump_path=/home/zhsq/mysql-5.5.41/bin/mysqldump

#进行备份
$dump_path -u$db_name -p$db_pass | gzip > $backupdir/$db_name$time.sql.gz
#删除7天之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

3.添加权限

chmod +x mysql_backup.sh

4.添加定时任务

crontab -e

添加一下内容

0 * * * * ? /home/backup/bin/mysql_backup.sh

每分钟执行一次,生产上可以每天执行一次 0 0 2 * * ? 

5.重启crond服务

service crond restart

查看日志

tail -f /var/log/cron

6.恢复

 mysql -uroot -p123456 test < ./test_20190606_152200.sql 

把备份文件恢复到test库里

参考文档:https://www.jb51.net/article/122922.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值