- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(Mysql数据备份与mysqldump增量备份
Mysql数据备份与mysqldump增量备份
??在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。本文主要对MyISAM表做备份恢复。
?
备份策略一:直接拷贝数据库文件备份策略二:使用mysqldump备份数据库(一个星期全备一次,每天增量备份)
一、?直接拷贝数据文件
?
SQL 语句:FLUSH TABLES WITH READ LOCK;也就是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入。这种方法备份出来的数据恢复也很简单,直接拷贝回原来的数据库目录下即可。
?? 为了方便的拷贝出数据文件,我写了一个脚本让其每天运行一次做备份。在/目录下建一个目录用来放置脚本文件,
#mkdir /scripts
创建一个备份数据库的一个脚本文件
#vi backup_mysql.sh
#!/bin/bash
backup_dir=/backup/databak?? #备份文件放置目录backup_target_dir=/backup/dbbackup_logs_dir=/backup/logs?? #备份日志目录db=bcmedia
DATE=$(date +%Y%m%d) #得到10天前的日期ccDATE=$(date -d 10 day ago +%Y%m%d)
echo 开始复制数据表? $backup_logs_dir/$db$DATEecho -----------`date +%Y-%m-%d %H:%M:%S`--------------------? $backup_logs_dir/$db$DATE
cp -R /data/$db $backup_target_dir/?? #mysql数据库的数据目录为/data
echo 开始压缩数据表? $backup_logs_dir/$db$DATEecho ------------------------? $backup_logs_dir/$db$DATE
cd $backup_target_dir
tar -zcvf? $backup_dir/db$DATE.tar.gz $db/ $backup_logs_dir/$db$DATE
if [ $? -eq 0 ]then?echo backup succeed $backup_logs_dir/$db$DATEelse?echo backup fail $backup_logs_dir/$db$DATEfi
echo 开始删除原数据表? $backup_logs_dir/$db$DATE
echo -----------------------? $backup_logs_dir/$db$DATE
rm -rf $backup_target_dir/* echo “删除原数据表” $backup_logs_dir/$db$DATE
echo? 删除10天前数据 $backup_logs_dir/$db$DATE
if [ -e $backup_dir/db$ccDATE.tar.gz ]then?rm -rf $backup_dir/db$ccDATE.tar.gz?echo Delete $backup_dir/db$ccDATE.tar.gz succeed $backup_logs_dir/$db$DATEelse?echo Not found $backup_dir/db$ccDATE.tar.gz file $backup_logs_dir/$db$DATEfiif [ -e $backup_logs_dir/$db$ccDATE ] then?rm -rf $backup_logs_dir/$db$ccDATE?echo Delete $backup_logs_dir/$db$ccDATE succeed $backup_logs_dir/$db$DATEelse?echo Not found $backup_logs_dir/$db$ccDATE file $backup_logs_dir/$db$DATE
fi
?
保存退出并添加可执行的权限#chmod 755 backup_mysql.sh让脚本每天执行一次,每天备份一次数据库,在crontab 里面添加一行
Crontab –e10 4 * * * /scripts/ backup_mysql.sh? #每天4点10分运行脚本备份数据库
????? 还原数据库的时候只要把备份出的文件拷贝到数据库放置数据的目录下,修改权限。重启下数据
文档评论(0)