Mysql主從復(fù)制

MySQL 主從復(fù)制概念

MySQL 主從復(fù)制是指數(shù)據(jù)可以從一個MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點復(fù)制到一個或多個從節(jié)點罐孝。一般主服務(wù)器負(fù)責(zé)寫肥缔,而從服務(wù)器負(fù)責(zé)讀莲兢,Mysql的主從復(fù)制的過程是一個異步的過程续膳。

MySQL 主從復(fù)制作用

1.讀寫分離

在開發(fā)工作中,有時候會遇見某個sql 語句需要鎖表遣耍,導(dǎo)致暫時不能使用讀的服務(wù),這樣就會影響現(xiàn)有業(yè)務(wù),使用主從復(fù)制酣溃,讓主庫負(fù)責(zé)寫,從庫負(fù)責(zé)讀扛或,這樣,即使主庫出現(xiàn)了鎖表的情景熙兔,通過讀從庫也可以保證業(yè)務(wù)的正常運(yùn)作艾恼。

2.高可用

當(dāng)系統(tǒng)中某個節(jié)點發(fā)生故障時,可以方便的故障切換钠绍。

3.提高讀寫性能

有了主從復(fù)制,增加多個數(shù)據(jù)存儲節(jié)點,將負(fù)載分布在多個從節(jié)點上碱屁,這樣可以提高系統(tǒng)的讀寫性能蛾找。

MySQL 主從形式

1.一主一從
2.一主多從,提高系統(tǒng)的讀性能

一主一從和一主多從是最常見的主從架構(gòu)打毛,實施起來簡單并且有效,
優(yōu)點:不僅可以實現(xiàn)高可用闹瞧,而且還能讀寫分離,進(jìn)而提升集群的并發(fā)能力奥邮。
缺點:主庫更新的數(shù)據(jù)到從庫更新數(shù)據(jù)有一定的延遲罗珍。

3.多主一從

多主一從可以將多個mysql數(shù)據(jù)庫備份到一臺存儲性能比較好的服務(wù)器上

4.雙主復(fù)制

雙主復(fù)制,也就是互做主從復(fù)制蘸朋,每個master既是master,又是另外一臺服務(wù)器的slave藕坯。這樣任何一方所做的變更噪沙,都會通過復(fù)制應(yīng)用到另外一方的數(shù)據(jù)庫中炼彪。

5.級聯(lián)復(fù)制

如果太多從庫從主庫同步數(shù)據(jù)正歼,會對主庫有一點壓力,所以可以讓一部分從庫從連接主庫的從庫上同步數(shù)據(jù)喜爷。

主從復(fù)制的原理

例如一主一從的情況下萄唇,從庫 B 跟主庫 A 之間維持了一個長連接:
1.在從庫 B 上通過 change master 命令檩帐,設(shè)置主庫 A 的 IP穷绵、端口、用戶名、密碼揍障,以及要從哪個位置開始請求 binlog俩由,這個位置包含文件名和日志偏移量毒嫡。
2.在從庫 B 上執(zhí)行 start slave 命令,這時候從庫會啟動兩個線程兜畸,就是圖中的 io_thread 和 sql_thread碘梢。其中 io_thread 負(fù)責(zé)與主庫建立連接咬摇。
3.主庫 A 校驗完用戶名煞躬、密碼后,開始按照從庫 B 傳過來的位置恩沛,從本地讀取 binlog,發(fā)給 B雷客。
4.從庫 B 拿到 binlog 后,寫到本地文件皱卓,稱為中轉(zhuǎn)日志(relay log)。
5.sql_thread 讀取中轉(zhuǎn)日志好爬,解析出日志里的命令甥啄,并執(zhí)行。

循環(huán)復(fù)制問題


在雙主復(fù)制的情況下A蜈漓、B庫都為主庫宫盔,會互相發(fā)送更新語句,所以為了避免循環(huán)執(zhí)行的情況灼芭,要求兩個庫的 server id 必須不同,如果相同,則它們之間不能設(shè)定為主備關(guān)系茴迁。MySQL 在 binlog 中記錄了這個命令第一次執(zhí)行時所在實例的 server id萤衰。每個庫在收到從自己的主庫發(fā)過來的日志后堕义,先判斷 server id脆栋,如果跟自己的相同倦卖,表示這個日志是自己生成的,就直接丟棄這個日志椿争。

讀寫分離的問題及解決辦法

問題:主庫更新數(shù)據(jù)到從庫更新數(shù)據(jù)會存在延遲怕膛,客戶端執(zhí)行完一個更新事務(wù)后馬上發(fā)起查詢,如果查詢選擇的是從庫的話秦踪,就有可能讀到剛剛的事務(wù)更新之前的狀態(tài)褐捻。
解決方案:
  • 強(qiáng)制走主庫方案
    1.對于必須要拿到最新結(jié)果的請求,強(qiáng)制將其發(fā)到主庫上。比如,在一個交易平臺上线欲,賣家發(fā)布商品以后肯适,馬上要返回主頁面,看商品是否發(fā)布成功筝蚕。那么,這個請求需要拿到最新的結(jié)果,就必須走主庫。
    2.對于可以讀到舊數(shù)據(jù)的請求聊疲,才將其發(fā)到從庫上茬底。在這個交易平臺上,買家來逛商鋪頁面获洲,就算晚幾秒看到最新發(fā)布的商品阱表,也是可以接受的。那么贡珊,這類請求就可以走從庫最爬。
  • sleep 方案
    主庫更新后,讀從庫之前先 sleep 一下门岔。
  • 判斷主備無延遲方案
    show slave status 結(jié)果里的 seconds_behind_master 參數(shù)的值爱致,可以用來衡量主備延遲時間的長短。每次從庫執(zhí)行查詢請求前寒随,先判斷 seconds_behind_master 是否已經(jīng)等于 0糠悯。如果還不等于 0 帮坚,那就必須等到這個參數(shù)變?yōu)?0 才能執(zhí)行查詢請求。
  • 用redis之類的做緩存
    主庫更新成功之后更新進(jìn)redis互艾,下次讀也就直接讀redis了试和。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市忘朝,隨后出現(xiàn)的幾起案子灰署,更是在濱河造成了極大的恐慌,老刑警劉巖局嘁,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溉箕,死亡現(xiàn)場離奇詭異,居然都是意外死亡悦昵,警方通過查閱死者的電腦和手機(jī)肴茄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來但指,“玉大人寡痰,你說我怎么就攤上這事∑宓剩” “怎么了拦坠?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長剩岳。 經(jīng)常有香客問我贞滨,道長,這世上最難降的妖魔是什么拍棕? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任晓铆,我火速辦了婚禮,結(jié)果婚禮上绰播,老公的妹妹穿的比我還像新娘骄噪。我一直安慰自己,他們只是感情好蠢箩,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布链蕊。 她就那樣靜靜地躺著,像睡著了一般谬泌。 火紅的嫁衣襯著肌膚如雪示弓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天呵萨,我揣著相機(jī)與錄音,去河邊找鬼跨跨。 笑死潮峦,一個胖子當(dāng)著我的面吹牛囱皿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播忱嘹,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘱腥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拘悦?” 一聲冷哼從身側(cè)響起齿兔,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎础米,沒想到半個月后分苇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡屁桑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年医寿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蘑斧。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡靖秩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出竖瘾,到底是詐尸還是另有隱情沟突,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布捕传,位于F島的核電站惠拭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乐横。R本人自食惡果不足惜求橄,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葡公。 院中可真熱鬧罐农,春花似錦、人聲如沸催什。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒲凶。三九已至气筋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旋圆,已是汗流浹背宠默。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留灵巧,地道東北人搀矫。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓抹沪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓤球。 傳聞我的和親對象是個殘疾皇子融欧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容