黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

mysql復(fù)制

系統(tǒng) 2346 0

一、復(fù)制機(jī)制的實(shí)現(xiàn)原理

從高層來(lái)看,復(fù)制分成三步:
(1)????master 將改變記錄到二進(jìn)制日志 (binary?log) 中(這些記錄叫做二進(jìn)制日志事件, binary?log?events );
(2)????slave master binary?log?events 拷貝到它的中繼日志 (relay?log)
(3)????slave 重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)。

mysql復(fù)制

?

二、復(fù)制實(shí)現(xiàn)級(jí)別

1.?Row

日志中會(huì)記錄成每一行數(shù)據(jù)被修改的形式,然后在?slave?端再對(duì)相同的數(shù)據(jù)進(jìn)行修改。

優(yōu)點(diǎn):在?row?模式下,bin-log?中可以不記錄執(zhí)行的?SQL?語(yǔ)句的上下文相關(guān)的信息,僅僅只需要記錄哪一條記錄被修改了,修改成什么樣了。所以?row?的日志內(nèi)容會(huì)非常清楚的記錄下每一行數(shù)據(jù)修改的細(xì)節(jié),非常容易理解。而且不會(huì)出現(xiàn)某些特定情況下的存儲(chǔ)過(guò)程或?function?,以及?trigger?的調(diào)用和觸發(fā)無(wú)法被正確復(fù)制的問(wèn)題。

缺點(diǎn):在?row?模式下,所有的執(zhí)行的語(yǔ)句當(dāng)記錄到日志中的時(shí)候,都將以每行記錄的修改來(lái)記錄,這樣可能會(huì)產(chǎn)生大量的日志內(nèi)容

2.?Statement

每一條會(huì)修改數(shù)據(jù)的?SQL?都會(huì)記錄到?master?的?bin-log?中。slave?在復(fù)制的時(shí)候?SQL?進(jìn)程會(huì)解析成和原來(lái)?master?端執(zhí)行過(guò)的相同的?SQL?再次執(zhí)行。

優(yōu)點(diǎn):在?statement?模式下,首先就是解決了?row?模式的缺點(diǎn),不需要記錄每一行數(shù)據(jù)的變化,減少了?bin-log?日志量,節(jié)省?I/O?以及存儲(chǔ)資源,提高性能。因?yàn)樗恍枰涗浽?master?上所執(zhí)行的語(yǔ)句的細(xì)節(jié),以及執(zhí)行語(yǔ)句時(shí)候的上下文的信息。

缺點(diǎn):在?statement?模式下,由于他是記錄的執(zhí)行語(yǔ)句,所以,為了讓這些語(yǔ)句在?slave?端也能正確執(zhí)行,那么他還必須記錄每條語(yǔ)句在執(zhí)行的時(shí)候的一些相關(guān)信息,也就是上下文信息,以保證所有語(yǔ)句在?slave?端杯執(zhí)行的時(shí)候能夠得到和在?master?端執(zhí)行時(shí)候相同的結(jié)果。復(fù)制容易問(wèn)題

3.?mixed

在?Mixed?模式下,MySQL?會(huì)根據(jù)執(zhí)行的每一條具體的?SQL?語(yǔ)句來(lái)區(qū)分對(duì)待記錄的日志形式,也就是在?statement?和?row?之間選擇一種。新版本中的?statment?還是和以前一樣,僅僅記錄執(zhí)行的語(yǔ)句。而新版本的?MySQL?中對(duì)?row?模式也被做了優(yōu)化,并不是所有的修改都會(huì)以?row?模式來(lái)記錄,比如遇到表結(jié)構(gòu)變更的時(shí)候就會(huì)以?statement?模式來(lái)記錄,如果?SQL?語(yǔ)句確實(shí)就是?update?或者?delete?等修改數(shù)據(jù)的語(yǔ)句,那么還是會(huì)記錄所有行的變更。

三、復(fù)制常用架構(gòu)

1、單一 master 和多 slave
由一個(gè) master 和一個(gè) slave 組成復(fù)制系統(tǒng)是最簡(jiǎn)單的情況。 Slave 之間并不相互通信,只能與 master 進(jìn)行通信。如下:

mysql復(fù)制

如果寫(xiě)操作較少,而讀操作很時(shí),可以采取這種結(jié)構(gòu)。你可以將讀操作分布到其它的 slave ,從而減小 master 的壓力。但是,當(dāng) slave 增加到一定數(shù)量時(shí), slave 對(duì) master 的負(fù)載以及網(wǎng)絡(luò)帶寬都會(huì)成為一個(gè)嚴(yán)重的問(wèn)題。
這種結(jié)構(gòu)雖然簡(jiǎn)單,但是,它卻非常靈活,足夠滿足大多數(shù)應(yīng)用需求。一些建議:
(1)???? 不同的 slave 扮演不同的作用 ( 例如使用不同的索引,或者不同的存儲(chǔ)引擎 ) ;
(2)???? 用一個(gè) slave 作為備用 master ,只進(jìn)行復(fù)制;
(3)???? 用一個(gè)遠(yuǎn)程的 slave ,用于災(zāi)難恢復(fù);

?

2、Dual?Master?(Master-Master)

Master-Master 復(fù)制的兩臺(tái)服務(wù)器,既是 master ,又是另一臺(tái)服務(wù)器的 slave

? mysql復(fù)制

mysql復(fù)制


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!??!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論