仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 661|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL编程:怎样才干完成MySQL的主动备份

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:45:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
DBaaS并不意味着解决方案提供者要让自己失业。与其他系统一样,在实施DBaaS解决方案时,客户可能需要部署、迁移、支持、异地备份、系统集成和灾难恢复等方面的帮助。mysql|备份MySql主动备份长短常关头的,出格是关于DBA来讲。这里次要用代码来讲明这个成绩,但愿对列位有所匡助。能够将这个剧本放进crontab,天天清晨实行一次,主动备份。
这个剧本天天最多只实行一次,并且只保存比来五天的备份在服务器上。
代码:
#!/bin/bash
#ThisisaShellScriptForAutoDBBackup
#Poweredbyaspbiz
#2004-09
#Setting
#设置数据库名,数据库登录名,暗码,备份路径,日记路径,数据文件地位,和备份体例
#默许情形下备份体例是tar,还能够是mysqldump,mysqldotcopy
#默许情形下,用root(空)登录mysql数据库,备份至/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,CantBackup!">>$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

到2009年,甲骨文的数据库Oracle已经诞生了30周年,而MySQL却连它的一半时间都没有。微软的SQLServer仅仅比MySQL大两年,但是SQLServer的发布是建立在Sybase的基础上。
简单生活 该用户已被删除
沙发
发表于 2015-1-19 22:50:42 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
精灵巫婆 该用户已被删除
板凳
 楼主| 发表于 2015-1-25 20:24:44 | 只看该作者
大家注意一点。如下面的例子:
只想知道 该用户已被删除
地板
发表于 2015-2-3 21:13:44 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
因胸联盟 该用户已被删除
5#
发表于 2015-2-9 05:24:07 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
深爱那片海 该用户已被删除
6#
发表于 2015-2-27 00:50:52 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
小魔女 该用户已被删除
7#
发表于 2015-3-8 18:49:54 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-16 11:40:05 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
若天明 该用户已被删除
9#
发表于 2015-3-22 22:49:45 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表