共计 1853 个字符,预计需要花费 5 分钟才能阅读完成。
自动写代码机器人,免费开通
MySQL 中怎么实现自动备份,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
如何实现 MySQL 的自动备份
MySql 自动备份是非常关键的,特别是对于 DBA 来说。这里主要用代码来说明这个问题,希望对各位有所帮助。可以将这个脚本放进 crontab,每天凌晨执行一次,自动备份。
这个脚本每天最多只执行一次,而且只保留日前五天的备份在服务器上。
代码:
#!/bin/bash
#ThisisaShellScriptForAutoDBBackup
#Poweredbyaspbiz
#2004-09
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是 tar,还可以是 mysqldump,mysqldotcopy
#默认情况下,用 root(空) 登录 mysql 数据库,备份至 /root/dbxxxxx.tgz
如何实现 MySQL 的自动备份
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
看完上述内容,你们掌握 MySQL 中怎么实现自动备份的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!
向 AI 问一下细节