centos上mysql数据库定时任务备份

1、首先机器上需要安装crontab,如果没有安装,可以参考这个:

https://blog.csdn.net/qq_20565303/article/details/79743205

2、然后你需要创建一个数据库备份的脚本:

    2.1 我在/usr/local/server/下创建名为Mysql-FullyBak.sh的脚本:

#!/bin/bash
# Program
# use mysqldump to Fully backup mysql data per week!
# History
# Path
BakDir=/home/mysql/backup
LogFile=/home/mysql/backup/bak.log
Date=`date +%Y%m%d`
Begin=`date +"%Y年%m月%d日 %H:%M:%S"`
cd $BakDir
DumpFile=$Date.sql
GZDumpFile=$Date.sql.tgz
/usr/local/server/mysql/bin/mysqldump -uroot -pgH@dY657efQ=J --quick --events --all-databases --flush-logs --single-transaction > $DumpFile
/bin/tar -zvcf $GZDumpFile $DumpFile
/bin/rm $DumpFile
Last=`date +"%Y年%m月%d日 %H:%M:%S"`
echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile

    注意:

        1)上面我的mysql安装目录在/usr/local/server/下,mysql的备份放在/home/mysql/backup/下

        2)脚本写好以后,最好先测试一下是否存在问题

                ./Mysql-FullyBak.sh

        3)备份目录需要先建,否则执行脚本可能会出现找不到路径

        4)关于mysqldump的参数可以查看官方文档

https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_where

    3、数据恢复

            mysql数据恢复
            cat backup.sql | mysql -uroot -ppassword  //全量恢复

            mysqlbinlog mysql-bin.000003 | mysql -uroot -ppassword //增量恢复

        这里的数据恢复是前辈写得文档,我没有使用过,如果数据恢复还是需要自己在网上看,恢复的细节和备份的的方式有关,

备份时mysqldump的参数应该是会影响数据恢复的

数据恢复备份可以参考:

https://www.linuxidc.com/Linux/2015-10/124551.htm

猜你喜欢

转载自blog.csdn.net/qq_20565303/article/details/79743949