如何实现MySQL的自动备份
MySQL数据库【shù jù kù】的备份是非常【shì fēi cháng】🧠重要的【chóng yào de】工作之一,通过【tōng guò】MySQL数据库【shù jù kù】的数据【de shù jù】备份就👨能够实🕌现【xiàn】MySQL数据库【shù jù kù】中数据的绝对安全,MySQL数据库【shù jù kù】中的数🎻据不会🌟因为什么小故障而丢【zhàng ér diū】失🖨,自动备份则是🔆更为方【gèng wéi fāng】便的一😿种备份方式,下文中⛏将给出详细的解析✊。
MySql自动备份【fèn】🌌是非常关键的,特别是对于【duì yú】🎶DBA来说。这里主【zhè lǐ zhǔ】要用代【yào yòng dài】码来说明这个问题,希望对【xī wàng duì】🐚各位有【gè wèi yǒu】所帮助。可以将👬这个脚😟本放进【běn fàng jìn】crontab,每天凌晨执行🛑一次🥕,自动备份【fèn】🌌。
这个脚本每天💮最多只【zuì duō zhī】🚛执行一【zhí háng yī】次📐,而且只【ér qiě zhī】保留最近五天的备份在服务【zài fú wù】器上🥌。
代码:
#!/bin/bash
#ThisisaShellScriptForAutoDBBackup
#Poweredbyaspbiz
#2004-09
#Setting
#设置数据库📎名【míng】,数据库📎登录名【míng】,密码,备份路【bèi fèn lù】🏗径【jìng】,日志路【rì zhì lù】径【jìng】,数据文件位置,以及备【yǐ jí bèi】♐份方式
#默认情🐣况下备份方式是【shì】🔧tar,还可以是【shì】🔧mysqldump,mysqldotcopy
#默认情况下,用🕛root(空【kōng】🌋)登录🍺mysql数据库【shù jù kù】,备份至【bèi fèn zhì】/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#SettingEnd
NewFile="$BackupPath"db$(date+%y%m%d).tgz
DumpFile="$BackupPath"db$(date+%y%m%d)
OldFile="$BackupPath"db$(date+%y%m%d--date='5daysago').tgz
echo"-------------------------------------------">>$LogFile
echo$(date+"%y-%m-%d%H:%M:%S")>>$LogFile
echo"--------------------------">>$LogFile
#DeleteOldFile
if[-f$OldFile]
then
rm-f$OldFile>>$LogFile2>&1
echo"[$OldFile]DeleteOldFileSuccess!">>$LogFile
else
echo"[$OldFile]NoOldBackupFile!">>$LogFile
fi
if[-f$NewFile]
then
echo"[$NewFile]TheBackupFileisexists,Can'tBackup!">>$LogFile
else
case$BackupMethodin
mysqldump)
if[-z$DBPasswd]
then
mysqldump-u$DBUser--opt$DBName>$DumpFile
else
mysqldump-u$DBUser-p$DBPasswd--opt$DBName>$DumpFile
fi
tarczvf$NewFile$DumpFile>>$LogFile2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
rm-rf$DumpFile
;;
mysqlhotcopy)
rm-rf$DumpFile
mkdir$DumpFile
if[-z$DBPasswd]
then
mysqlhotcopy-u$DBUser$DBName$DumpFile>>$LogFile2>&1
else
mysqlhotcopy-u$DBUser-p$DBPasswd$DBName$DumpFile>>$LogFile2>&1
fi
tarczvf$NewFile$DumpFile>>$LogFile2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
rm-rf$DumpFile
;;
*)
/etc/init.d/mysqldstop>/dev/null2>&1
tarczvf$NewFile$DBPath$DBName>>$LogFile2>&1
/etc/init.d/mysqldstart>/dev/null2>&1
echo"[$NewFile]BackupSuccess!">>$LogFile
;;
esac
fi
echo"-------------------------------------------">>$LogFile
关于【guān yú】🦍MySQL数据库🛣的自动【de zì dòng】备份就为大家介绍到🚟这里【zhè lǐ】,大家按照上文【zhào shàng wén】🍀中讲解【zhōng jiǎng jiě】的步骤【de bù zhòu】方法去进行【jìn háng】MySQL数据库🛣的自动【de zì dòng】备份工🔧作【zuò】♒,相信您一定可🌬以很好的完成MySQL数据库🛣的自动【de zì dòng】备份工🔧作【zuò】♒。
关键词:MySQL
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 0