MySQL定时全量备份步骤

GitHub 地址:

https://github.com/zonezoen/MySQL_backup

 

全量备份

/usr/bin/mysqldump -uroot -p123456  --lock-all-tables --flush-logs test > /home/backup.sql

如上一段代码所示,其功能是将 test 数据库全量备份。其中 MySQL 用户名为:root 密码为:123456备份的文件路径为:/home (当然这个路径也是可以按照个人意愿修改的。)备份的文件名为:backup.sql
参数 —flush-logs:使用一个新的日志文件来记录接下来的日志参数 —lock-all-tables:锁定所有数据库

以下为我使用的数据库备份脚本文件:

脚本文件功能不是很复杂,首先是各种变量赋值。然后备份数据库,接着是进入到备份文件所在的目录,再将备份文件压缩。其中倒数第三行是使用 nodejs 将备份的数据库文件上传到七牛云中,这里就不在过多的阐述了,与本文主题不符,想看具体实现可以查看 GitHub 源码。其中相应的变量改成自己的值即可拿过来使用。

#!/bin/bash
#在使用之前,请提前创建以下各个目录
#获取当前时间
date_now=$(date "+%Y%m%d-%H%M%S")
backUpFolder=/home/db/backup/mysql
username="root"
password="123456"
db_name="zone"
#定义备份文件名
fileName="${db_name}_${date_now}.sql"
#定义备份文件目录
backUpFileName="${backUpFolder}/${fileName}"
echo "starting backup mysql ${db_name} at ${date_now}."
/usr/bin/mysqldump -u${username} -p${password}  --lock-all-tables --flush-logs ${db_name} > ${backUpFileName}
#进入到备份文件目录
cd ${backUpFolder}
#压缩备份文件
tar zcvf ${fileName}.tar.gz ${fileName}

# use nodejs to upload backup file other place
#NODE_ENV=$backUpFolder@$backUpFileName node /home/tasks/upload.js
date_end=$(date "+%Y%m%d-%H%M%S")
echo "finish backup mysql database ${db_name} at ${date_end}."

恢复全量备份

mysql -h localhost -uroot -p123456 < bakdup.sql

或者

mysql> source /path/backup/bakdup.sql

嗯,回复全量备份也就这样两句,似乎不用多说什么了。对了,在恢复全量备份之后,要将全量备份之后的增量备份也恢复回数据库中。

定时备份

输入如下命令,进入 crontab 定时任务编辑界面:

crontab -e

添加如下命令,其意思为:每分钟执行一次备份脚本:

* * * * * sh /usr/your/path/mysqlBackup.sh

每五分钟执行 :

*/5 * * * * sh /usr/your/path/mysqlBackup.sh

每小时执行:

0 * * * * sh /usr/your/path/mysqlBackup.sh

每天执行:

0 0 * * * sh /usr/your/path/mysqlBackup.sh

每周执行:

0 0 * * 0 sh /usr/your/path/mysqlBackup.sh

每月执行:

0 0 1 * * sh /usr/your/path/mysqlBackup.sh

每年执行:

0 0 1 1 * sh /usr/your/path/mysqlBackup.sh

关于 crontab 命令的格式说明如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值