MySQL增量备份流程图
2016-09-27 10:06:42 0 举报
增量备份流程图描述: 1. 开始:启动MySQL数据库。 2. 检查点:记录当前全备份的时间点。 3. 备份:执行全备份,将数据库的所有数据复制到备份存储位置。 4. 更新:在备份完成后,将新的事务日志和二进制日志复制到备份存储位置。 5. 结束:关闭MySQL数据库。 增量备份流程图描述了MySQL数据库的备份过程。首先,启动MySQL数据库并记录当前全备份的时间点。然后,执行全备份,将数据库的所有数据复制到备份存储位置。接下来,将新的事务日志和二进制日志复制到备份存储位置。最后,关闭MySQL数据库。这个过程确保了数据库的完整性和可恢复性,同时减少了备份所需的时间和存储空间。
作者其他创作
大纲/内容
mysqlDir=/usr/local/mysqldataDir=$mysqldir/data
定义邮件地址
$mysqlDir/bin/mysqladmin -u$user -p$userpwd flush-logscd $dataDir
定义数据库目录和数据目录
刷新日志,使数据库使用新的二进制日志文件
logFile=$dataBackupDir/mysqlbackup.logecho \"\" $emailFileecho $(date + %y-%m-%d %H:%M:%S) $emailFile
定义日志文件
dataBackupDir=/opt/mysqlbackupdailyBackupDir=$dataBackupDir/daily[ ! -d $dailybackupdir ] && mkdir -p $dataBackupDir /daily
email=root@localhost.localdomain
数据库用户名和密码
得到二进制日志列表
user=rootuserpwd=123456
emailFile=$dataBackupDir/email.txt
定义邮件正文文件
定义备份目录,每日备份到dataBackupDir/daily
fileList=`cat mysql-bin.index`counter=0for file in $fileListdo counter = `expr $counter + 1`donenextnum = 0ifile = 0for file in $fileListdo binlogName = `basename $file` nextnum = `expr $nextnum + 1`# 跳过最后一个二进制日志(数据库当前使用的二进制日志文件) if [ $nextnum -eq $counter ] ; then echo \"Skip lastest!\" /dev/null else dest=$dailyBackupDir/$binlogName# 跳过已经备份的二进制日志文件 if [ -e $dest ] ; then echo \"Skip exist $binlogName!\" /dev/null else # 备份日志文件到备份目录 cp $binlogName $dailyBackupDir if [ $? -eq 0 ] ; then ifile = `expr $ifile + 1` echo \"$binlogName backup success!\" $emailFile fi fi fidoneif [ $ifile -eq 0 ] ; then echo \"No Binlog Backup!\" $emailFileelse echo \"Backup $ifile File(s).\" $emailFile echo \"Backup MySQL Binlog OK!\" $emailFilefi#发送邮件通知cat $emailFile | mail -s \"MySQL Backup \" $email # 写日志文件echo \"---------------------------------\" $logFilecat $emailFile $logFile
0 条评论
下一页