闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕鐏炲墽鐓瑙勬礀閳规垿顢欑紒鎾剁窗闂佸憡顭嗛崘锝嗙€洪悗骞垮劚濞茬娀宕戦幘鑸靛枂闁告洦鍓涢ˇ顓熺節閳封偓閸曞灚鐤佸Δ鐘靛仜濡繂顕i鈧畷鐓庮熆椤忎焦娅婇柟顔筋殜閺佹劖鎯斿┑鍫濆毈闁诲海鎳撻幉锛勬崲閸曨厽顫曢柟鐑樻尰缂嶅洭鏌曟繛鍨姢闁荤喆鍔岄—鍐Χ鎼粹€茬凹缂備緡鍠楅幐鎼佹偩閻戣棄纭€闁绘劕绉堕崰鏍箖濞嗘挸绠f繝闈涙搐椤︹晠姊洪幎鑺ユ暠闁搞劌婀卞Σ鎰板箻鐎涙ê顎撴繝娈垮枟閸╁牊绂嶅┑瀣疄闁靛ň鏅涢悙濠囨煏婵炲灝鈧绮诲顒夋富闁靛牆妫涙晶顒勬煟閺冩垵澧撮柣鎿冨墴椤㈡宕掑Δ鈧禍楣冩偡濞嗗繐顏痪鐐倐閺屾稒鎯旈敐鍡樻瘓閻庢鍣崑濠囩嵁濡偐纾兼俊顖滅帛椤忕喖姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鐐劤椤兘寮婚敐澶婄疀妞ゆ帊鐒﹂崕鎾剁磽娴e搫小闁告濞婂濠氭偄閸忓皷鎷婚柣搴ㄦ涧婢瑰﹤危椤斿墽纾藉ù锝呮惈鍟搁梺鍝ュУ閻楃姴顕f繝姘╅柍鍝勫€告禍婊堟⒑閸涘﹦绠撻悗姘嚇婵偓闁靛牆妫涢崢閬嶆⒑闂堟胆褰掑磿闁秴鐒垫い鎺嗗亾婵犫偓闁秴绠查柕蹇曞Л濡插牓鏌曡箛鏇炐㈤柤鏉跨仢閳规垿鍩ラ崱妤冧淮濡炪倖娉﹂崶顭戞閻庡箍鍎遍ˇ浼村煕閹寸姷纾奸悗锝庡亽閸庛儵鏌涙惔銏犲缂佽鲸甯為幏鐘诲箵閹烘挻顔掑┑鐘殿暜缁辨洟寮拠鑼殾闁绘梻鈷堥弫宥嗘叏濡じ鍚柡澶嬫倐濮婄粯鎷呴崫銉︾€┑鈩冦仠閸斿酣骞忕€n喖钃熼柕澶堝劤閿涙盯姊虹憴鍕妞ゆ泦鍥х闁逞屽墴閹嘲饪伴崘鐐枅閻庢鍠楅幃鍌氼嚕椤曗偓瀹曞ジ鎮㈤崫鍕辈闂傚倷鑳剁划顖毭洪弽顓炵9闁革富鍘搁崑鎾愁潩閻愵剙顏�
开发学院数据库MySQL RedHatLinux下实现MySQL数据库镜像 阅读

RedHatLinux下实现MySQL数据库镜像

 2007-11-11 15:39:43 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰Г閹便劌顫滈崱妤€骞婄紓鍌氬€瑰銊╁箟缁嬫鍚嬮柛顐線缂冩洟姊婚崒娆戭槮婵犫偓闁秵鎯為幖娣妼缁愭鏌″搴′簽濞戞挸绉甸妵鍕冀椤愵澀娌梺缁樻尪閸庣敻寮婚敐澶婂嵆闁绘劖绁撮崑鎾诲捶椤撴稑浜炬慨妯煎亾鐎氾拷闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋挎瀬闁瑰墽绮崑鎰版煙缂佹ê绗ч柍褜鍓﹂崣鍐潖閸濆嫅褔宕惰娴犲ジ姊虹拠鑼闁煎綊绠栭幃楣冩倻閽樺鎽曢梺闈涱檧婵″洭宕㈤悽鍛娾拺閻熸瑥瀚烽崯蹇涙煕閻樺磭澧甸柕鍡楀€圭缓浠嬪川婵犲嫬骞堥梺纭呭閹活亞妲愰弴鐔哄ⅰ闂傚倷绶氬ḿ褍煤閵堝洠鍋撳顐㈠祮闁绘侗鍣i獮鎺懳旈埀顒傜不閿濆棛绡€闂傚牊绋戦弳娆徝瑰⿰鍫㈢暫闁哄矉缍佹慨鈧柍鎯版硾濠€杈ㄧ珶閺囩喓绡€婵﹩鍘鹃崢鐢告⒑缂佹ê濮﹂柛鎾村哺閹ɑ娼忛妸銈囩畾闂佸湱绮敮鐐存櫠濞戞氨纾肩紓浣贯缚濞插鈧娲栧畷顒冪亙闂佸憡鍔曢崯鐘诲礈濠靛牊宕叉繛鎴炨缚閺嗗棗鈹戦悩杈厡闁轰焦鐗滅槐鎾存媴娴犲鎽甸梺鍦嚀濞层倝鎮鹃悜钘夌闁规惌鍘介崓鐢告⒑閻熸澘鎮侀柣鎺炵畵閹骞栨担鍏夋嫽婵炶揪绲块崕銈夊吹閳ь剟姊洪幖鐐测偓鏍偋閻樿崵宓侀煫鍥ㄧ⊕閺呮悂鏌ㄩ悤鍌涘濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻戦妵鍕箻閸楃偟浠肩紓浣哄閸ㄥ爼寮诲☉銏犵疀闂傚牊绋掗悘鍫ユ倵閻熺増鍟炵紒璇插暣婵$敻宕熼姘鳖啋闁诲酣娼ч幗婊堟偩婵傚憡鈷戠痪顓炴媼濞兼劖绻涢懠顒€鏋庢い顐㈢箳缁辨帒螣閼测晜鍤岄梻渚€鈧偛鑻晶顔肩暆閿濆牆鍔垫い锔界叀閹繝濡舵径瀣帾闂佸壊鍋呯换鍐磻椤忓懐绠剧€瑰壊鍠曠花濠氬箚閻斿吋鈷戦悗鍦У閵嗗啴鏌ら崘鑼煟鐎规洘绻堥弫鍐焵椤掑嫧鈧棃宕橀鍢壯囨煕閳╁喚娈橀柣鐔稿姍濮婃椽鎮℃惔鈩冩瘣闂佺粯鐗曢妶绋跨暦閻戞ḿ绡€闁搞儜鍐ㄧギ闂備線娼ф蹇曟閺囥垹鍌ㄦい蹇撶墛閳锋垿鏌熼懖鈺佷粶闁告梹顨婇弻锟犲川椤旈敮濮囩紓浣稿€圭敮鐔妓囩€靛摜纾奸弶鍫涘妼缁楁碍绻涢悡搴g闁糕斁鍓濋幏鍛存煥鐎e灚缍楅梻鍌氬€峰ù鍥ь浖閵娾晜鍊块柨鏇炲€哥粻鏌ユ煕閵夘喖澧柡瀣╃窔閺岀喖宕滆鐢盯鏌¢崨顔藉€愰柡灞诲姂閹倝宕掑☉姗嗕紦闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰Г閹便劌顫滈崱妤€骞婄紓鍌氬€瑰銊╁箟缁嬫鍚嬮柛顐線缂冩洟姊婚崒娆戭槮婵犫偓闁秵鎯為幖娣妼缁愭鏌″搴′簽濞戞挸绉甸妵鍕冀椤愵澀娌梺缁樻尪閸庣敻寮婚敐澶婂嵆闁绘劖绁撮崑鎾诲捶椤撴稑浜炬慨妯煎亾鐎氾拷  闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屻倝宕妷锔芥瘎婵炲濮靛銊ф閹捐纾兼繛鍡樺笒閸橈紕绱撴笟鍥ф珮闁搞劌鐖兼俊鎾礃椤旂厧绐涢梺鍝勵槹閸ㄥ綊宕㈠ú顏呭€垫鐐茬仢閸旀碍銇勯敂璇茬仸鐎规洩绻濋獮搴ㄦ嚍閵壯冨妇闂傚⿴鍋勫ú锕€煤閺嶃劎澧¢梻鍌欐祰椤曆呪偓鍨浮瀹曟粓鎮㈡總澶嬬稁闂佹儳绻愬﹢杈╁閸忛棿绻嗘い鏍ㄧ閹牊銇勯銏㈢劯婵﹥妞藉畷鐑筋敇濞戞瑥鐝遍梻浣呵归鍛涘┑瀣畾闁逞屽墯閵囧嫯绠涢幘瀵搞偐濠碘槅鍨扮€氭澘顫忓ú顏勪紶闁告洦鍓氶幏鍗炩攽閻愭彃绾у畝锝呮健楠炴垿濮€閻橆偅鏂€婵犵數濮寸€氼噣寮堕幖浣光拺闁告繂瀚婵嗏攽椤旀儳鍘撮柟顔诲嵆婵$兘鍩¢崒妤佸濠电偠鎻徊浠嬪箹椤愩倖鏆滈悹杞拌閻斿棝鏌i悢宄扮盎闁衡偓閼姐倗纾奸柛灞炬皑瀛濆Δ妤婁簷閸楀啿鐣烽悡搴僵闁挎繂鎳嶆竟鏇㈡⒑閸濆嫬鏆欓柣妤€妫涚划鍫ュ礃閳瑰じ绨婚棅顐㈡搐濞寸兘藝閿曗偓闇夋繝濠傜墢閻f椽鏌$仦璇插闁宠鍨垮畷鍗炩槈閹典礁浜炬俊銈傚亾妞ゎ叀鍎婚¨渚€鏌涢悩宕囧⒌婵犫偓娓氣偓濮婅櫣绱掑Ο鏇熷灴閹兘濡疯閸嬫挸顫濋悡搴㈢亾缂備緡鍠氱划顖炲Χ閿濆绀冮柍鍝勫暙楠炲牊淇婇悙顏勨偓鏍礉閹达箑纾归柡鍥ュ灩閸戠娀骞栧ǎ顒€濡介柣鎾跺枛閻擃偊宕惰閸庡繘鏌涢弮鈧划鎾诲蓟閺囥垹鐐婄憸宥夘敂椤撶姭鍋撳▓鍨灍婵炲吋鐟ㄩ悘鎺楁⒑閸涘﹦绠撻悗姘煎墲椤ゅ倹绻濈喊澶岀?闁稿鍨垮畷鎰板箣閿曗偓閸ㄥ倹绻涘顔荤凹闁稿绻濋弻宥夊传閸曨剙娅g紓浣哄У閻楃娀寮诲澶婄厸濞达絽鎲″▓鏌ユ⒑缁嬫寧鎹i柛鐘崇墵瀵寮撮姀鐘靛€為悷婊冪Ф閼鸿鲸绻濆顓犲幍闂佸憡鍨崐鏍偓姘炬嫹
核心提示:MySQL(和PHP搭配之最佳组合)从3.23.15版本以后提供数据库复制功能,利用该功能可以实现两个数据库同步,RedHatLinux下实现MySQL数据库镜像,主从模式,互相备份模式的功能,运行slave start重启AB机器,则可以实现双向的热备,实现数据同步备份,数据库同步复制功能的设置都在MySQL(和PH

  MySQL(和PHP搭配之最佳组合)从3.23.15版本以后提供数据库复制功能,利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。实现数据同步备份。
  数据库同步复制功能的设置都在MySQL(和PHP搭配之最佳组合)的设置文件中体现。MySQL(和PHP搭配之最佳组合)的配置文件(一般是my.cnf) 在Linux环境下在/etc/my.cnf 或者在MySQL(和PHP搭配之最佳组合)用户的home目录下面的my.cnf.
  
  设置方法:
  操作系统: RedHat Linux 9 MySQL(和PHP搭配之最佳组合):MySQL(和PHP搭配之最佳组合)-standard-4.0.18-pc-linux-i686.tar.gz
  A Server: 192.168.0.1 主服务器master
  B Server: 192.168.0.10 副服务器slave
  A上已安装好MySQL(和PHP搭配之最佳组合)且已有数据库,在B上安装MySQL(和PHP搭配之最佳组合)-standard-4.0.18, 安装步骤可解压后按INSTALL-BINARY上方法安装MySQL(和PHP搭配之最佳组合),我将其然后启动 MySQL(和PHP搭配之最佳组合).
  
  A服务器设置
  #MySQL(和PHP搭配之最佳组合) ?u root ?p Master开放一个账号dbbackup密码123456给IP:192.168.0.10有档案处理的权限. MySQL(和PHP搭配之最佳组合)>GRANT ALL ON *.* TO dbbackup@192.168.0.10 IDENTIFIED BY‘123456’ MySQL(和PHP搭配之最佳组合)>exit
  #MySQL(和PHP搭配之最佳组合)admin ?u root ?p shutdown
  备份Master所有数据库..通常都用tar指令. (注意:tar的时候,MySQL(和PHP搭配之最佳组合)是要在stop情况下)
  #tar zcvf /tmp/MySQL(和PHP搭配之最佳组合).tar.gz /usr/local/src/MySQL(和PHP搭配之最佳组合)/data
  在A机器上修改/etc/my.cnf
  [MySQL(和PHP搭配之最佳组合)d]
  log-bin (生成.index文件。#设置需要记录log 可以设置log-bin=c:\MySQL(和PHP搭配之最佳组合)bak\MySQL(和PHP搭配之最佳组合)log 设置日志文件的目录,
  #其中MySQL(和PHP搭配之最佳组合)log是日志文件的名称,MySQL(和PHP搭配之最佳组合)将建立不同扩展名,文 件名为MySQL(和PHP搭配之最佳组合)log的几个日志文件。)
  server-id=1
  sql-bin-update-same
  binlog-do-db=forimage (#指定需要日志的数据库为forimage)
  启动A服务器MySQL(和PHP搭配之最佳组合): Bin/MySQL(和PHP搭配之最佳组合)d-safe ?user=MySQL(和PHP搭配之最佳组合) server-id=1 & (要指定server-id)
  此时由于加入log-bin参数,因此开始生成index文件,在/usr/local/src/MySQL(和PHP搭配之最佳组合)/data目录下有.index文件。档案纪录数据库的异动log. #MySQL(和PHP搭配之最佳组合) ?u root ?p 用show master status 命令看日志情况。
  
  B服务器设置
  设定/etc/my.cnf
  [MySQL(和PHP搭配之最佳组合)d]
  master-host=192.168.0.1
  master-user=dbbackup (#同步用户帐号)
  master-password=123456
  master-port=3306
  server-id=2
  master-connect-retry=60 (预设重试间隔为60秒 )
  replicate-do-db=forimage (只对数据库forimage更新 )
  log-slave-updates
  
  copy A上的/tmp/MySQL(和PHP搭配之最佳组合).tar.gz 到B上的MySQL(和PHP搭配之最佳组合)安装目录的data/下,并解压缩覆盖data/
  #chown ?R MySQL(和PHP搭配之最佳组合) /usr/local/src/MySQL(和PHP搭配之最佳组合)/data/
  #cd /usr/local/src/MySQL(和PHP搭配之最佳组合)/
  #chown ?R root:MySQL(和PHP搭配之最佳组合) .
  重启B服务器的MySQL(和PHP搭配之最佳组合): #bin/MySQL(和PHP搭配之最佳组合)admin ?u root shutdown #bin/MySQL(和PHP搭配之最佳组合)-safe ?user=MySQL(和PHP搭配之最佳组合) server-id=2 & (要指定server-id,与my.cnf对应)
  
  show slave status看同步配置情况。
  #bin/MySQL(和PHP搭配之最佳组合) ?u root
  则在/usr/local/src/mysq/data/目录会出现master.info,此文件纪录了Master MySQL(和PHP搭配之最佳组合) server的信息. 如有要修改相关slave的配置要先删除该文件. 否则修改的配置不能生效。
  
  状况测试:
  1.A跟B网络及服务都正常情况下,由A端变化数据后,到B端浏览数据,检查是否有数据变化。
  2.模拟B当机,或是B不一定需要一直跟A有连接.将由A端变化数据后,到B端浏览数据,B点应该是没有数据变化的。
  
  双机互备模式
  如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。
  在A的配置文件中 MySQL(和PHP搭配之最佳组合)d 配置项加入以下设置:
  master-host=10.10.10.53
  master-user=backup
  master-password=1234
  replicate-do-db=backup
  master-connect-retry=10
  在B的配置文件中 MySQL(和PHP搭配之最佳组合)d 配置项加入以下设置:
  log-bin=c:\MySQL(和PHP搭配之最佳组合)log\MySQL(和PHP搭配之最佳组合)log
  binlog-do-db=backup
  
  注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start
  重启AB机器,则可以实现双向的热备。
  
  测试:
  向B批量插入大数据量表AA(1872000)条, A数据库每秒钟可以更新2500条数据。

Tags:RedHatLinux 实现 MySQL

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接