视窗
loading...
您现在的位置:首页 > IT认证 > Linux认证 >

Linux数据库:MySQL主从同步设置和同步错误处理


注意:

  1、两台服务器数据库版本应一致,如果不一致,从服务器的版本要高于主服务器的版本。

  2、MySQL进行实时数据同步,本质上是将mysql动作同步到Slave服务器,而不是对实质的数据进行同步。所以同步开始前,两端的数据要保持一致。

  Master服务器:192.168.0.1

  Slave服务器:192.168.0.2

  ===  Master停止运行时,Mysql同步配置===

  一、主服务器设置:

  1、修改/etc/f

  在[mysqld]区段内加入参数

  server-id=1

  log-bin

  sql-bin-update-same

  2、为Slave服务器创建连接账户,用于同步

  mysql>GRANT FILE ON *.* TO backup@192.168.1.2 IDENTIFIED BY ‘1234’;

  3、重启mysql服务:service mysqld restart

  此时因为有加入log-bin参数,因此开始有index产生了,在/var/lib/mysql目录下有.index档案纪录数据库的异动log. 二、Slave服务器设置:

  1、修改/etc/f

  在[mysqld]区段加入

  master-host=192.168.0.1

  master-user=backup

  master-password=1234

  master-port=3306

  server-id=2

  master-connect-retry=60 预设重试间隔60秒

  replicate-do-db=vbb 告诉slave只做vbb数据库的更新

  replicate-ignore-db=mysql #不同步的数据库

  replicate-ignore-table=ers #不同步vbb数据库的users表

  log-slave-updates=1

  2、重启Slave服务器mysql服务

  三、Slave服务器从主服务器读取数据,并开启同步

  1、mysql>FLUSH TABLES WITH READ LOCK; #首先执行这个,对主服务器加锁

  2、mysql>LOAD DATA FROM MASTER  #语句的话,必须授予全局的 FILE 和 SELECT 权限,仅针对MyISAM引擎,对InnoDB表无用。

  3、如果数据是InnoDB的,需要在服务器上将表结构和数据分开导出,然后拷贝至Slave服务器。

  导出整个数据库结构和数据:mysqldump -u用户名 -p密码 -h主机 database > filename.sql

  导出某个表的数据和结构:mysqldump -u用户名 -p密码 -h主机 database table > filename.sql

  只导出数据库中表的数据:mysqldump -u用户名 -p密码 -h主机 -T database table > filename.sql

  只导出数据库中表的结构:mysqldump -u用户名 -p密码 -h主机 -d database table > filename.sql 4、确保两端数据一致后,开启同步

  mysql>slave start;

  5、查看Slave服务器同步信息

  mysql>show slave statusG;

  可以看到,Slave_IO_Running 和 Slave_SQL_Running 两列的值都为 "Yes",这表明 Slave 的 I/O 和 SQL 线程都在正常运行。

  6、对Master服务器释放锁

  mysql>UNLOCK TABLES;

  === Master还在运行中,如何在不停止它的情况下配置Slave ===

  注:主从服务器的配置同上。

  1、首先在Master服务器查看同步日志信息

  mysql>show master status;

  +------------------+----------+--------------+------------------+

  | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

  +------------------+----------+--------------+------------------+

  | mysql-bin.000054 | 680 |                     | mysql |

  +------------------+----------+--------------+------------------+

  可以看到日志文件是:mysql-bin.000054,同步点是680

  2、在Slave服务器配置同步

  mysql>slave stop; # mysql默认同步开始

  mysql>CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='backup',MASTER_PASSWORD='1234',MASTER_LOG_FILE='mysql-bin.000054',MASTER_LOG_POS=690;  #配置同步点

  mysql>slave start; #开启同步

  3、查看同步信息

  mysql>show slave statusG;

  可以看到,Slave_IO_Running 和 Slave_SQL_Running 两列的值都为 "Yes",这表明 Slave 的 I/O 和 SQL 线程都在正常运行。

  4、配置完成

  MYSQL服务器复制配置

  这是根据我之前看的MYSQL复制的文档然后自己亲自实验的过程.配置的功能比较简单.

  环境:

  主服务器:

  redhat9

  mysql 5.0.16 机器名:dbmaster

  IP:192.168.0.111

  从服务器:

  redhat9

  mysql5.0.16

  机器名:dbslave

  IP:192.168.0.100

  配置过程:

  整个过程与MYSQL文档中的复制设置步骤一一对应,只是具体化和标明了一些要注意的地方..如果有兴趣的朋友可以对照阅读,会更加理解.

  1.确认两台服务器的MYSQL版本,用mysql –V命令查看

  注意: MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,所以最好采用相同的版本.如果达不到要求,必须要保证Master的版本不能高于Slave版本

  2.在主服务器上为服务器设置一个连接账户。该账户必须授予REPLICATION SLAVE权限。我为了简单没做这一步,直接用root账户.

  正常的步骤是:

  假定你的域为,想要创建用户名为repl的一个账户,从服务器可以使用该账户从你的域内的任何主机使用密码slavepass来访问主服务器。要创建该 账户,可使用GRANT语句:

  mysql> GRANT REPLICATION SLAVE ON *.*

  ->TO 'repl'@'%.' IDENTIFIED BY 'slavepass';

  如果想要在Slave上有权限执行 "LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER" 语句的话,必须授予全局的 FILE 和 SELECT 权限:

  mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO  'repl'@'%.' IDENTIFIED BY 'rep';

  3.在主服务器上执行FLUSH TABLES WITH READ LOCK语句来刷新表,同时阻止写操作.:

  mysql> FLUSH TABLES WITH READ LOCK;

  然后对主服务器上的数据进行快照。(此时不要退出mysql的提示符,退出的话就解锁了.新开一个ssh窗口进行下面所说的归档打包操作)

闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱閻庡厜鍋撻柛鏇ㄥ亞閿涙盯姊虹捄銊ユ珢闁瑰嚖鎷�

闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱閻庡厜鍋撻柛鏇ㄥ亞閿涙盯姊虹捄銊ユ珢闁瑰嚖鎷�

闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱濠电偛妫欓幐鍝ョ矆婢舵劖鐓涢柛銉e劚閻忊晠鏌涚仦璇插闁哄本娲熷畷鐓庘攽閸パ屾П闂佽瀛╅懝楣冣€﹂悜钘夎摕闁靛ǹ鍎弨浠嬫煕閳╁厾顏堟偟閺冨倻纾藉ù锝囨嚀閺佸墽绱撳鍕獢鐎殿喖顭烽弫鎾绘偐閼碱剦妲规俊鐐€栭崝褏鈧潧鐭傞崺鈧い鎺嶇贰濞堟粓鏌″畝鈧崰鏍箺鎼淬劌纾兼慨姗嗗墰閵堫噣姊绘担绛嬪殐闁哥噥鍋婂畷鎯邦樄闁哥偛鐖煎铏圭磼濡崵鍙嗛梺纭呭Г缁海鍒掗弮鍫晢闁告洦鍓涢崢浠嬫⒑缂佹◤顏勵嚕閸洖绠归柟鎵閻撶喖骞掗幎钘夌閻忕偠妫勭粊顐︽⒒娴d警鏀伴柟娲讳簽缁骞嬮敐鍥╊啍闂傚倸鍊峰ù鍥р枖閺囥垹闂柨鏇炲€哥粻顖炴煥閻曞倹瀚�
闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢敂钘変罕濠电姴锕ら悧鍡欑矆閸喓绠鹃柟瀛樼懃閻忣亪鏌涚€n剙鏋戦柕鍥у瀵粙顢曢~顓熷媰闂備胶绮敮锛勭不閺嶎厼钃熼柡鍥╁枔缁犻箖鏌涢…鎴濇灈濠殿喖閰e铏规嫚閸欏鏀銈嗘肠閸℃鍊掗梻鍌欑劍閹爼宕曢懡銈呯筏闁兼亽鍎插▍鐘绘煙缂佹ê纭€鐟滅増甯楅崑鍌炲箹濞n剙鐏╂繛鍫燁殜閹鈻撻崹顔界亪闂佺粯鐗曢崥瀣┍婵犲洦鍊婚柤鎭掑劜濞呭棝姊洪崨濠冨瘷闁告劦浜滅敮妤€鈹戦悩鍨毄闁稿鐩幃娲Ω瑜嶉崹婵堚偓鍏夊亾闁逞屽墴閹崇偤鏌嗗鍡楁異闂佸啿鎼€氼剙鐨繝鐢靛仜椤曨參宕㈣閹椽濡搁埡浣告優闂佺ǹ鐬奸崑鐐烘偂濞戙垺鐓曢柟鎵虫櫅婵″ジ鏌嶈閸撴繂鐣烽悽闈涘灊闁哄啫娲㈡禍褰掓煙閻戞ɑ灏甸柛娆忔閳规垿鎮欓弶鎴犱紘濠电偛鎳忓ú婊堝焵椤掍胶鍟查柟鍑ゆ嫹闂傚倸鍊峰ù鍥敋瑜嶉湁闁绘垼妫勯弸渚€鏌熼梻鎾闁逞屽厸閻掞妇鎹㈠┑瀣;妞ゆ牗姘ㄧ粔铏光偓瑙勬礀瀹曨剝鐏掗柣鐘叉搐濡﹤岣块鐐粹拻濞达綁顥撴稉鑼磼闊厾鐭欑€殿喚鏁婚、妤呭礋椤掆偓娴犲ジ姊洪崨濠庢畼闁稿﹥鍨堕幆鏃堝Ω閵壯冣偓鐐烘⒑閹稿海绠撻柟鍐查叄閸╂稒寰勭€n剛顔曢柣搴f暩鏋悽顖氱埣閺岀喖鎼归顒冣偓鍧楁煟濞戝崬鏋ら柍褜鍓ㄧ紞鍡涘窗閺嶎偆涓嶉柨婵嗘缁♀偓婵犵數濮撮崐鎼侇敂椤愶附鐓欓柡瀣靛亜婵倹鎱ㄦ繝鍐┿仢鐎规洏鍔嶇换婵嬪礃閿濆棗顏哥紓鍌氬€风粈渚€顢栭崱娆愭殰闁跨喓濮寸粻姘舵煕閵夛絽濡兼い鏇憾閺屸剝寰勭€n亞浠撮梺鍝ュ亼閸旀垵顫忓ú顏勭闁绘劖褰冩慨宀勬⒑閸涘﹥鐓ョ紒澶婄秺閺佹劙鎮欓崫鍕敤濡炪値鍏欓崕閬嶆煀閿濆懐鏆﹂柛顐f礃閺呮煡鏌涘☉鍗炲箰闁规灚鍊曢埞鎴︽倷瀹割喖娈堕梺鍛婎焼閸パ呯枃濠殿喗銇涢崑鎾搭殽閻愬弶顥㈢€规洘锕㈤、娆撴嚃閳哄﹥效濠碉紕鍋戦崐鏍礉閹达箑鍨傛繛宸簼閸庡﹪鏌¢崘锝呬壕缂備胶绮换鍫熸叏閳ь剟鏌ㄥ┑鍡橆棤闁靛棙鍔欓弻锝嗘償閵忥絽顥濋梺纭呭Г缁苯宓勯梺瑙勫婢ф寮查幖浣圭叆闁绘洖鍊圭€氾拷闂傚倸鍊搁崐鐑芥嚄閸洖绠犻柟鍓х帛閸嬨倝鏌曟繛鐐珔闁搞劌鍊块弻娑㈠箛椤撶姰鍋為梺鍓插亽娴滎亪寮婚悢琛″亾閻㈢櫥鐟扮毈闂備胶绮敮鎺楁晝閵堝鐓橀柟杈鹃檮閸嬫劙鏌涘▎蹇fЧ闁诡喗鐟ラ埞鎴︽倷閸欏娅¢梺鎼炲妼缂嶅﹤锕㈡笟鈧娲箰鎼达絿鐣靛┑鈽嗗亝閻╊垶骞嗙仦鐐劅闁靛⿵濡囬崢鎾绘偡濠婂嫮鐭掔€规洘绮岄埢搴ㄥ箻瀹曞洨鏋冮梻浣哥秺閸嬪﹪宕楀鈧鎼佸籍閸喓鍘甸柡澶婄墦缁犳牕顬婇鈧弻娑氣偓锝庝憾閸庢棃鏌$仦鍓ф创妞ゃ垺娲熸俊鍫曞川椤旈敮鍋撻崜褏纾介柛灞炬皑琚﹂梺绋款儐閹瑰洤顫忕紒妯诲闁荤喐澹嗘禍浼存⒑缂佹ê閲滅紒鐘虫尰娣囧﹪鎮介崨濠傗偓鐑芥煟閵忋垺鏆╂い锔诲灦濮婃椽宕崟顐f闂佺粯顨呭Λ娑㈡儉椤忓浂妯勯梺鍝勬湰閻╊垶鐛崶顒夋晬婵炴垶鍝庨埀顒€锕︾槐鎾存媴閹绘帊澹曢梻浣芥硶閸o箓骞忛敓锟�闂傚倸鍊峰ù鍥敋瑜忛懞閬嶆嚃閳轰胶绛忔繝鐢靛У閻旑剛绱為弽褜鐔嗛柤鎼佹涧婵洭鏌涢妸銉モ偓鍦崲濠靛洨绡€闁稿本鍑规导鈧俊鐐€愰弲鐘诲绩闁秴桅闁告洦鍨扮粻鎶芥煙鐎涙ḿ绠栨繛鍫e皺缁辨挻鎷呮搴ょ獥闂侀潻缍囩徊浠嬵敋閿濆閱囬柡鍥╁枎閳ь剛鍏橀弻娑⑩€﹂幋婵呯凹闂佺粯绻嶆禍婊堝煘閹达附鍊烽柤纰卞墮椤も偓闂備焦鎮堕崝灞炬櫠鎼达絽鍨濇慨妯垮煐閻掕偐鈧箍鍎遍幊鎰板礉閹绢喗鈷戦柛娑橈工婢瑰啴鏌涘☉鍗炵伇婵″樊鍓氱换婵嬫偨闂堟刀銉︺亜閿濆嫮鐭欓柛鈹惧亾濡炪倖宸婚崑鎾绘煕閻旈攱鍋ラ柛鈹惧亾濡炪倖甯掗崐褰掑吹閳ь剟姊洪幐搴㈢8闁搞劍妞介獮蹇涘川閺夋垹顦梺鍦帛鐢顢橀崸妤佲拻濞达絽鎳欒ぐ鎺戝珘妞ゆ帒鍊瑰畷鑼偓骞垮劚椤︻垶鎳滆ぐ鎺撶厵缂備降鍨归弸鐔兼煟閹惧鎳囬柟顔筋殔閳藉鈻庣€n剛绐楀┑鐘媰鐏炶棄顫紓浣虹帛缁诲牓宕洪埀顒併亜閹哄秶鍔嶅┑顖涙尦閺屾盯鏁傜拠鎻掔闂佺娅曠换鍫濐潖濞差亜绀堥柤纰卞墮鐢儵姊虹粙娆惧剰闁硅櫕鍔楀Σ鎰版倷閸濆嫮鍔﹀銈嗗笒鐎氼參鍩涢幋锔界厽闁绘梻枪椤ュ鏌熼悾灞解枅闁哄矉绲借灃闁告劑鍔嬮幋鐑芥⒑閻熸壆鐣柛銊ョ秺閿濈偛鈹戠€e灚鏅為梺鍏间航閸庤櫕绂嶅▎鎾粹拻濞达絽鎲¢幆鍫熺箾鐠囇呯暤闁诡垰鐭傞、娆撴倷椤掆偓鎼村﹪姊虹化鏇炲⒉缂佸甯¢幃鈥斥枎閹扳晙绨婚梺鍦亾椤ㄥ懘宕悧鍫㈩浄闁哄鍩堝〒濠氭煏閸繃顥炲璺哄閺屾盯骞樼捄鐑樼€婚梺浼欑悼閸忔﹢寮幇鏉垮耿婵炲棙鍨瑰Σ鍥⒒娴e憡鍟為柛鏂跨箻瀵煡鍩℃担鍕剁秮椤㈡盯鎮欑划瑙勫闂備礁銈搁埀顒佺☉瀹撳棝鏌涘┑鍫濆妺闁逛究鍔嶇换婵嬪磼閵堝洤鎮戦梻浣告惈閼活垶鎮ч幘鑽ゅ祦婵せ鍋撴い銏$懇閹虫牠鍩℃繝鍌涘€涢梻鍌氬€烽懗鍫曞箠閹剧粯鍋ら柕濞у啫鐏婇悗骞垮劚濞层倝宕瑰┑瀣叆闁哄洨鍋涢埀顒€缍婇幃锟犲Ψ閿斿墽顔曢梺鐟邦嚟閸婃牠骞嬪┑鎾光偓鍧楁煟濡も偓閻楀繒寮ч埀顒勬⒑闁偛鑻晶瀛橆殽閻愯尙效妞ゃ垺鐟╅獮鍡氼槻閻熸瑱闄勭换婵嬫偨闂堟稐绮跺┑鈽嗗亝椤ㄥ懘婀佹俊鐐差儏濞寸兘鎮崇紒妯圭箚闁靛牆鎳庨弳鐔虹棯閹佸仮闁哄矉绻濆畷鎺戔槈閸楃偛濡奸梻浣呵规鍝ユ崲閹烘鐒垫い鎺戝枤濞兼劙鏌熼崫銉囩鐏嬪┑鐘绘涧濡盯寮抽敂鑺ュ弿婵☆垰鐏濋悡鎰版煕鐎n偄濮夌紒杈ㄦ尰閹峰懐鎷归婊呯獥闁荤喐绮庢晶妤呭垂閸噮娼栨繛宸簻缁犱即骞栫划鍏夊亾閾忣偆浜為梻鍌欒兌閹虫捇宕甸弽顓炵闁跨噦鎷�闂傚倸鍊峰ù鍥敋瑜嶉湁闁绘垼妫勯弸渚€鏌熼梻瀵割槮缂佺姷濞€閺岀喖骞戦幇顒傚帿闂佸搫妫欑划宥夊Φ閸曨垰绠涢柛鎾茶兌閺嗙姷绱撴担鎻掍壕闂佺硶鍓濆玻璺ㄧ不妤e啯鐓欓悗鐢告櫜缁辫櫕銇勮箛鎾跺闁哄绶氶弻娑㈩敃閿濆棛顦ㄩ梺绋匡功閺佹悂鎯€椤忓牜鏁囬柣鎰綑椤庢稑鈹戦悙鎻掓倯闁告梹鐟╁璇测槈閵忕姈鈺呮煥閺傚灝鈷旈柣鎾茶兌缁辨挻鎷呯粙搴撳亾閸︻厽鏆滈柨鐔哄О閳ь兛绀佽灃濞达絿鎳撻鎾剁磽娴e壊鍎忛柡鍛箞椤㈡洟鏁傜憴锝嗗闂佽崵鍠愰悷銉р偓姘煎幘濞嗐垽鎳犻鍌滐紲缂傚倷鐒﹂敋闁诲繐顕埀顒侇問閸n噣宕戞繝鍥モ偓浣糕枎閹炬潙浠奸悗鍏夊亾濠电姴鍟伴妶顐⑩攽閻樻剚鍟忛柛鐘愁殜婵¢潧鈽夐姀鐘碉紱闂佺懓澧界划顖炴偂閸愵亝鍠愭繝濠傜墕缁€鍫熺箾閸℃ɑ灏痪鎯х秺閺屾稑鈹戦崟顐㈠Б缂備讲鍋撳┑鐘叉处閸婄敻鏌ㄥ┑鍡涱€楅柡瀣枛閺屾稒鎯旈敍鍕懷囨煛鐏炲墽娲寸€殿喗鎸虫俊鎼佸Ψ閵壯呮喛闂佽崵鍠愮划搴㈡櫠濡ゅ啯鏆滄俊銈呮噺閸嬪倿鏌嶈閸撴瑩鈥旈崘顔嘉ч柛鈩冾殘閻熴劑姊洪幐搴㈢┛濠碘€虫川閸掓帡宕奸妷锔芥闂佽法鍣﹂幏锟�闂傚倸鍊搁崐宄懊归崶銊х彾闁割偆鍠嗘禒鍫㈢磼鐎n偒鍎ユ繛鍏肩墪閳规垿鎮╁畷鍥舵殹闂佺粯甯$粻鏍蓟閻旇櫣纾奸柕蹇曞У閻忓牆鈹戦埥鍡椾簼闁挎洏鍨藉濠氭晲婢跺浜滅紓浣割儐椤戞瑥螞閸℃瑧纾肩紓浣靛灩楠炴劙鏌涚€n偅宕屾慨濠勭帛閹峰懘鎮烽柇锕€娈濈紓鍌欑椤戝棛鏁幒妤佸仼婵犻潧顑呯粻鐟懊归敐鍛喐闁挎稒鐩娲传閸曨厜鐘绘煕閺傚潡鍙勯柕鍡楁嚇閹粓鎳為妷褍寮抽梻浣虹帛濞叉牠宕愰崷顓涘亾濮樼偓瀚�:webmaster@jscj.com闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱閻庡厜鍋撻柛鏇ㄥ亞閿涙盯姊洪悷鏉库挃缂侇噮鍨堕幃锟犳偄閹肩偘绨诲銈嗗姦閸嬪嫰鐛Ο鑲╃<濞达絽鎼崢鎾煛瀹€瀣М闁轰礁鍊婚幑鍕Ω瑜忛崢顖炴⒒娴h姤銆冪紒鈧担铏圭煋鐟滅増甯掗弸渚€鏌熼崜褏甯涢柡鍛倐閺屻劑鎮ら崒娑橆伓4008816886

相关文章

无相关信息
更新时间2022-09-16 10:07:22【至顶部↑】
联系我们 | 邮件: webmaster@jscj.com | 客服热线电话:4008816886(QQ同号) |  婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧潡鏌熺€电ǹ啸缂佲偓婵犲洦鐓冪憸婊堝礈濮樿泛桅闁告洦鍨伴崡鎶芥煕閳╁喚娈旀い蹇d邯閺屾稑鈻庤箛鏇狀啋闂佸搫鐭夌紞渚€鐛崶顒夋晪闁告侗鍠楅惁婊堟⒒娴e懙褰掝敄閸℃稑绠查柛銉墯閸嬫ɑ銇勯弴妤€浜鹃悗瑙勬礀缂嶅﹪銆佸▎鎾崇煑闁靛/鍕剁础濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩绾惧鏌熼崜褏甯涢柣鎾存礋閺屾洘寰勭€n亞浠撮梺鍏兼た閸ㄤ即鍩㈤幘娲绘晝闁靛繆鏅滅€靛矂姊洪棃娑氬婵☆偅鐟╄棢闁糕剝菧娴滄粓鏌¢崒姘殹闁告梻鍠栭弻鐔肩嵁閸喚浼堥梺杞扮劍閹瑰洭寮幘缁樻櫢闁跨噦鎷�

付款方式留言簿投诉中心网站纠错二维码手机版

电话:
付款方式   |   给我留言   |   我要纠错   |   联系我们