萌萌妈妈 发表于 2015-1-16 20:13:33

绝无经由的MySQL数据库当地备份和双机互相备份剧本

DBaaS并不意味着解决方案提供者要让自己失业。与其他系统一样,在实施DBaaS解决方案时,客户可能需要部署、迁移、支持、异地备份、系统集成和灾难恢复等方面的帮助。MySQL的当地备份和双机互相备份剧本:<Pstyle="TEXT-INDENT:2em">起首,我们必要修正剧本举行需要的设置,然后以root用户实行。<Pstyle="TEXT-INDENT:2em">◆1.第一实行远程备份时先用first参数.<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">◆2.当地备份用local参数<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">◆3.远程备份不必参数<注重1><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">注重:<Pstyle="TEXT-INDENT:2em">必要在另外一主机上的MySQL用户里增加用户。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">必要设置的中央:<Pstyle="TEXT-INDENT:2em">#definehostandmysqlpassWord<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">REMOTE_HOST=""#远程主机名或ip<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">REMOTE_PASSWORD=""#远程主机的mysql中的root@当地主机暗码.<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#definedatabasepath<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">DB_PATH="/var/lib/mysql"#当地mysql数据库路径<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">LOCAL_PASSWORD=""#当地mysqlroot用户暗码<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">DB_BACKUP_PATH="/root/db_bk"#当地备份时数据保留的路径<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">NO_BACKUP_DB=""设置当地数据库中不想备份的数据库名,用空格离隔<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">间接下载<Pstyle="TEXT-INDENT:2em">#!/bin/sh<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#mysqldump_all.sh<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#thisscriptsisusedtobackupMySQLdatabasebettwentowMySQLSERVER!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#definehostandmysqlpassword<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">REMOTE_HOST=""<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">REMOTE_PASSWORD=""<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#definedatabasepath<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">DB_PATH="/var/lib/mysql"<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">LOCAL_PASSWORD=""<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">DB_BACKUP_PATH="/root/db_bk"<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#definewhichdatabasenobackup,writedbanmeescapwhitspace!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#example;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#NO_BACKUP_DB="ynstestps_note"<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#thissaidthatifdbnameis"yns"or"test"or"ps_note",thennotbackupthem!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">NO_BACKUP_DB=""<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#getthedatabasenameandPRocessonebyone<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"StarttoBackup...";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#ls/var/lib/mysql>/tmp/mydb.all<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if["$1"!="help"];then<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fordbin`ls$DB_PATH`;do<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if_backup="1"<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if[-d$DB_PATH/$db];then<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fornoBackDBin$NO_BACKUP_DB;do<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if(test"$db"="$noBackDB");then<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#echo-n"...";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if_backup="";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fi<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">done<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if[$if_backup];then<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">case"$1"in<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">first)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo-n"Cratedb[$db]on$REMOTE_HOSTfirst!"<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">result=`mysqladmin-h$REMOTE_HOST--password=$REMOTE_PASSWORDcreate$db`<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if[!$result];then<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"...Done!";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">else<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"...Fialed!checkyourconfigureplz!";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"Remotehostsaid:$result";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">exit<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fi<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">;;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">local)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#backuptolocalhostdir.<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if[!-d$DB_BACKUP_PATH];then<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mkdir$DB_BACKUP_PATH<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fi<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo-n"[$db]....Backuptolocal$DB_BACKUP_PATHwithgzip";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if[-e"$DB_BACKUP_PATH/$db.gz"];then<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mv$DB_BACKUP_PATH/$db.gz$DB_BACKUP_PATH/$db.1.gz;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fi<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysqldump--password=Walte#Ming$db|gzip>$DB_BACKUP_PATH/$db.gz<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"..."<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">;;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">*)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#DocommonBackup!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo-n"[$db]...DoBackup!====>>$REMOTE_HOST/$db";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">mysqldump--add-drop-table$db--password=$LOCAL_PASSWORD|mysql-h$REMOTE_HOST--password=$REMOTE_PASSWORD$db<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"....";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">esac<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">else<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"[$db]";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"***ThisdatabasesettoNotbackup!...OperationCANCELED!";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fi<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">else<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"[$db]";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"***Warning!NotaDataBbase.BackupCanceled***";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fi<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">done<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">else<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"Usage:mysqldupm_all.sh";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"Somequestionaskforhref="mailto:walteyh@sohu.com";">walteyh@sohu.com";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">fi<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">#Endedallbackupopretion!<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">echo"Note:ifthereiscomewrongmessagewhiteMySQL, youshouldcheckyourconfigurefirst!";<Pstyle="TEXT-INDENT:2em">exit
这些过程被存储和运行在数据库服务器上,以减少在客户端的处理过程,从而最大限度地提高了处理能力,因为通常情况下数据库服务器会运行地更快。存储过程并不是MySQL独有的功能,但是这个最近新增加的功能使得这个数据库比以前更具吸引力了。

精灵巫婆 发表于 2015-1-18 18:53:10

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?

灵魂腐蚀 发表于 2015-1-27 18:10:42

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

分手快乐 发表于 2015-2-5 14:33:44

至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。

admin 发表于 2015-2-12 07:24:12

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

不帅 发表于 2015-3-3 01:13:03

相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐

变相怪杰 发表于 2015-3-11 08:45:42

是要和操作系统进行Socket通讯的场景。否则建议慎重!

山那边是海 发表于 2015-3-18 03:16:29

我们学到了什么?思考问题的时候从表的角度来思考问

海妖 发表于 2015-3-25 10:46:33

SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
页: [1]
查看完整版本: 绝无经由的MySQL数据库当地备份和双机互相备份剧本