mysql数据库的自动备份及恢复

建立备份脚本,通过crontab定期执行即可实现自动备份

#!/bin/bash
mkdir tmp
rq=`date +%Y%m%d%H%M%S`
mysqldump --opt -ujira -pjira jira | gzip > jira$rq.sql.gz
mv `ls -t *.gz -t|head -6` tmp/.
rm -f *.gz
mv tmp/* .
rmdir tmp


mkdir tmp行用于建立临时目录,以实现只保留最后6个备份的目的;

rq=`date +%Y%m%d%H%M%S`行用于产生当前日期时间字符串,以拼接到文件名中;

mysqldump --opt -utest -ptest test | gzip > test$rq.sql.gz行用于将数据导出并压缩存储,--opt设置了导出的选项,-u设定导出时所使用的帐号,-p设定密码,test为待导出的 数据库,通过管道使用gzip压缩,数据文件存储名字为testXXXXX.sqk.gz,其中XXXXXX为当前的日期时间字符串;

mv `ls *.gz -t|head -6` tmp/. 行将当前目录下的.gz文件,取出前6个移动到临时目录中

rm -f *.gz 行删除多余的文件

mv tmp/* .行将临时目录中的目录移回

rmdir tmp行删除临时目录

该备份脚本将导出的sql压缩后保存于当前目录下

恢复时将数据包解压缩,将其作为mysql命令的输入即可恢复数据库。