成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL實(shí)現(xiàn)主從復(fù)制的原理詳解

瀏覽:75日期:2023-07-20 19:52:12
目錄異步復(fù)制半同步復(fù)制垂直分庫水平分庫分表

主從復(fù)制是怎么實(shí)現(xiàn)的呢?

當(dāng)MySQL數(shù)據(jù)庫發(fā)生寫操作的時(shí)候會(huì)記錄下binlog,它是一種邏輯日志。有了這個(gè) binlog,從服務(wù)器會(huì)獲取主服務(wù)器的 binlog 文件,然后解析里面的 SQL 語句,在從服務(wù)器上面執(zhí)行一遍,保持主從的數(shù)據(jù)一致。

這里面涉及到三個(gè)線程:

IO線程

連接到 master 獲取 binlog,并且解析 binlog 寫入中繼日志,這個(gè)線程叫做 I/O 線程。

log dump線程

master 節(jié)點(diǎn)上有一個(gè) log dump 線程,是用來發(fā)送 binlog 給 slave 的。

sql線程

從庫的 sql 線程,是用來讀取 relay log,把數(shù)據(jù)寫入到數(shù)據(jù)庫的。

主從復(fù)制的方式

異步復(fù)制

在異步復(fù)制中,主庫執(zhí)行完操作后,寫入binlog日志后,就返回客戶端,這一動(dòng)作就結(jié)束了,并不會(huì)驗(yàn)證從庫有沒有收到,完不完整,所以這樣可能會(huì)造成數(shù)據(jù)的不一致。

說到底,復(fù)制過程中數(shù)據(jù)是否一致,主要取決于Binlog日志的安全性與完整性

在MySQL中,有sync_binlog=n這一參數(shù),他的值表示每進(jìn)行n次事務(wù)提交,MySQL就將Binlog刷新到磁盤。如果這個(gè)值為1,就代表每提交一次事務(wù)(SQL),就將Binlog往磁盤刷新一次,這樣一來,就算數(shù)據(jù)庫宕機(jī)了,那么最多只能損失一次事務(wù)的數(shù)據(jù)。

但是,一旦多個(gè)事務(wù)并發(fā)提交時(shí),由于受sync_binlog的限制,MySQL只能按順序來處理這些請(qǐng)求,另外,高頻率的刷新binlog對(duì)IO的影響也很大,進(jìn)一步影響了數(shù)據(jù)庫的性能,所以,一般這個(gè)值都設(shè)為0或者其他值,在數(shù)據(jù)的安全性和高并發(fā)下的性能之間取得一個(gè)平衡。

為了更加有效的保護(hù)Binlog的安全性和完整性,MySQL5 .5之后引入了半同步復(fù)制

半同步復(fù)制

在異步復(fù)制中,我們遇到的一個(gè)主要問題就是,在復(fù)制過程當(dāng)中,主庫不會(huì)去驗(yàn)證Binlog有沒有成功復(fù)制到從庫,那如果主庫提交一個(gè)事務(wù)并寫入Binlog中后,當(dāng)從庫還沒有從主庫得到Binlog時(shí),主庫宕機(jī)了或因磁盤損壞等故障導(dǎo)致該事務(wù)的Binlog丟失了,那從庫就不會(huì)得到這個(gè)事務(wù),也就造成了主從數(shù)據(jù)的不一致。

而半同步復(fù)制,當(dāng)主庫每提交一個(gè)事務(wù)后,不會(huì)立即返回,而是等待其中一個(gè)從庫接收到Binlog并成功寫入Relay-log中才返回客戶端,所以這樣就保證了一個(gè)事務(wù)至少有兩份日志,一份保存在主庫的Binlog,另一份保存在其中一個(gè)從庫的Relay-log中,從而保證了數(shù)據(jù)的安全性和一致性。

另外,在半同步復(fù)制時(shí),如果主庫的一個(gè)事務(wù)提交成功了,在推送到從庫的過程當(dāng)中,從庫宕機(jī)了或網(wǎng)絡(luò)故障,導(dǎo)致從庫并沒有接收到這個(gè)事務(wù)的Binlog,此時(shí)主庫會(huì)等待一段時(shí)間(這個(gè)時(shí)間由rpl_semi_sync_master_timeout的毫秒數(shù)決定),如果這個(gè)時(shí)間過后還無法推送到從庫,那MySQL會(huì)自動(dòng)從半同步復(fù)制切換為異步復(fù)制,當(dāng)從庫恢復(fù)正常連接到主庫后,主庫又會(huì)自動(dòng)切換回半同步復(fù)制。

半同步復(fù)制的“半”體現(xiàn)在,雖然主從庫的Binlog是同步的,但主庫不會(huì)等待從庫執(zhí)行完Relay-log后才返回,而是確認(rèn)從庫接收到Binlog,達(dá)到主從Binlog同步的目的后就返回了,所以從庫的數(shù)據(jù)對(duì)于主庫來說還是有延時(shí)的,這個(gè)延時(shí)就是從庫執(zhí)行Relay-log的時(shí)間。所以只能稱為半同步。

總之這兩種策略,可以濃縮理解為,一個(gè)是“不管不問”,一個(gè)是“確認(rèn)到位就跑”。

讀寫分離

做了主從復(fù)制的方案之后,我們只把數(shù)據(jù)寫入 master 節(jié)點(diǎn),而讀的請(qǐng)求可以分擔(dān)到slave 節(jié)點(diǎn), 這種方案我們稱之為讀寫分離。

讀寫分離可以一定程度低減輕數(shù)據(jù)庫服務(wù)器的訪問壓力,但是需要特別注意主從數(shù)據(jù)一致性的問題。

我們?cè)谧隽酥鲝膹?fù)制之后,如果單個(gè) master 節(jié)點(diǎn)或者單張表存儲(chǔ)的數(shù)據(jù)過大的時(shí)候,比如一張表有上億的數(shù)據(jù),單表的查詢性能還是會(huì)下降,我們要進(jìn)一步對(duì)單臺(tái)數(shù)據(jù)庫節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行拆分,而這個(gè)拆分就是分庫分表。

常見的分庫分表策略

垂直分庫

把一個(gè)數(shù)據(jù)庫按照業(yè)務(wù)拆分成不同的數(shù)據(jù)庫:

水平分庫分表

把單張表的數(shù)據(jù)按照一定的規(guī)則分布到多個(gè)數(shù)據(jù)庫。

到此這篇關(guān)于MySQL實(shí)現(xiàn)主從復(fù)制的原理詳解的文章就介紹到這了,更多相關(guān)MySQL 主從復(fù)制內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
久久精选视频| 亚洲精品一二三| 欧美精品高清视频| 欧美日韩成人综合在线一区二区| 蜜桃久久av| 色又黄又爽网站www久久| 久久精品国语| 欧洲国产伦久久久久久久| 欧美亚洲免费在线一区| 色妹子一区二区| 欧美日韩一区二区不卡| 91精品久久久久久久91蜜桃| 欧美一区二区三区免费| 久久这里只有精品6| 国产午夜精品一区二区三区嫩草| 久久精品视频在线免费观看| 国产精品萝li| 一个色综合网站| 蜜桃视频一区二区三区| 国产精品456| av一本久道久久综合久久鬼色| 欧美在线三区| 亚洲精品精选| 色久优优欧美色久优优| 日韩网站在线看片你懂的| 久久精子c满五个校花| 一区在线中文字幕| 日韩电影在线观看网站| 丰满放荡岳乱妇91ww| 欧美日韩亚洲一区| 亚洲一区二区三区在线观看视频| 久久夜色精品| 日韩久久精品一区| 亚洲视频在线一区| 另类中文字幕网| 色综合天天综合在线视频| 亚洲巨乳在线| 欧美日韩高清一区| 国产精品久久久久久妇女6080| 日韩在线一区二区| 99久久久无码国产精品| 国产麻豆日韩| 日韩一区二区免费在线观看| 国产精品福利一区| 精品一区二区三区免费播放| 欧美精品一卡| 91福利区一区二区三区| 欧美激情一区二区| 久久成人麻豆午夜电影| 亚洲天堂成人| 欧美精品一二三| 一区二区三区四区激情| 国产成人免费视频网站高清观看视频 | 国产女同互慰高潮91漫画| 天堂蜜桃91精品| 午夜日本精品| 欧美精品v国产精品v日韩精品| 亚洲视频一二三| 国产传媒欧美日韩成人| 亚洲综合欧美| 欧美极品aⅴ影院| 国产成人在线免费观看| 午夜亚洲福利在线老司机| 久久只精品国产| 麻豆久久久久久久| 国产精品免费一区二区三区观看| 精品粉嫩超白一线天av| 免费成人结看片| 亚洲欧美电影在线观看| 久久综合九色综合欧美就去吻| 日本成人中文字幕在线视频| 国产精品xvideos88| 欧美xingq一区二区| 男人的天堂亚洲一区| 亚洲一区中文| 综合av第一页| 欧美激情精品久久久六区热门| 91精品国产色综合久久久蜜香臀| 偷窥国产亚洲免费视频| 国产欧美一区二区视频| 国产精品私人自拍| 99久久免费国产| 欧美一二三四区在线| 狠狠狠色丁香婷婷综合久久五月| 性欧美精品高清| 亚洲欧美日韩成人高清在线一区| 欧美影视一区| 国产午夜精品一区二区| 成人av电影在线| 日韩欧美在线综合网| 国产米奇在线777精品观看| 欧美亚洲日本国产| 免费欧美在线视频| 色哟哟精品一区| 天堂一区二区在线免费观看| 亚洲影院一区| 天天综合色天天综合| 久久久久久精| 免费在线成人网| 欧洲一区二区三区免费视频| 日韩国产欧美一区二区三区| 色哟哟一区二区三区| 秋霞电影一区二区| 欧美日韩精品一区二区天天拍小说| 日韩中文字幕1| 欧美午夜在线观看| 国产在线乱码一区二区三区| 欧美日韩精品三区| 国产91精品久久久久久久网曝门| 日韩欧美亚洲国产另类| 成人av资源网站| 国产精品网站在线播放| 亚洲性感美女99在线| 亚洲一线二线三线久久久| 欧美亚洲免费高清在线观看| 秋霞电影网一区二区| 欧美一级日韩免费不卡| jlzzjlzz亚洲日本少妇| 亚洲国产高清在线| 中文精品视频| 蜜臀久久99精品久久久画质超高清| 欧美日韩一区在线| 波多野结衣一区二区三区| 国产欧美日韩卡一| 国产精品日韩欧美一区二区三区| 人人超碰91尤物精品国产| 5月丁香婷婷综合| 你懂的成人av| 无吗不卡中文字幕| 欧美一区二区三区色| 韩国亚洲精品| 奇米影视7777精品一区二区| 日韩午夜精品视频| 亚洲欧洲在线一区| 精品一区二区三区免费播放| 久久久久久久久久久久电影| 日韩午夜高潮| 国产精品一区二区你懂的| 久久精品男人的天堂| 久久高清一区| 成人激情免费视频| 亚洲已满18点击进入久久| 在线播放91灌醉迷j高跟美女| 午夜精品视频| 日韩精品电影在线| 国产校园另类小说区| 久久亚洲精品欧美| 99久久婷婷国产综合精品| 一区二区三区国产豹纹内裤在线| 91精品国产91热久久久做人人| 欧美日韩视频| 国产一区二区三区免费在线观看| 国产精品午夜在线| 911精品产国品一二三产区| 亚洲国产高清一区| 国产成人日日夜夜| 天天综合日日夜夜精品| 国产欧美一区二区精品仙草咪| 色婷婷亚洲综合| 欧美精品一卡| 国产高清精品在线| 亚洲 欧美综合在线网络| 久久精品亚洲乱码伦伦中文| 欧美视频在线一区二区三区| 精品不卡一区| a级高清视频欧美日韩| 麻豆高清免费国产一区| 亚洲免费观看高清| 久久久久久久网| 7777精品伊人久久久大香线蕉| 在线一区日本视频| 欧美视频不卡| 成人免费观看av| 精品一区二区三区不卡| 一区二区三区四区国产精品| 日本一区二区三区在线不卡| 欧美精品九九99久久| 色猫猫国产区一区二在线视频| 很黄很黄激情成人| 色综合天天综合狠狠| 高清beeg欧美| 国产一区视频网站| 免费三级欧美电影| 亚洲成av人影院| 亚洲曰韩产成在线| 亚洲视频在线观看三级| 成人av在线播放网址| 国产91精品入口| 国产精品18久久久久久久网站| 免费观看成人av| 天天做天天摸天天爽国产一区 | 中文字幕不卡一区| 久久久亚洲高清| 亚洲精品一区二区在线观看| 欧美日韩国产电影| 欧美日韩国产一二三| 欧美私模裸体表演在线观看| 一本久久a久久免费精品不卡| 香蕉成人久久| 美日韩免费视频|