MySQL系列(九)----MySQL的主從同步

什么是主從同步

MySQL 主從同步是指數(shù)據(jù)可以從一個MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點(diǎn)復(fù)制到一個或多個從節(jié)點(diǎn)绊困。MySQL 默認(rèn)采用異步復(fù)制方式抓艳,這樣從節(jié)點(diǎn)不用一直訪問主服務(wù)器來更新自己的數(shù)據(jù),數(shù)據(jù)的更新可以在遠(yuǎn)程連接上進(jìn)行烫幕,從節(jié)點(diǎn)可以復(fù)制主數(shù)據(jù)庫中的所有數(shù)據(jù)庫或者特定的數(shù)據(jù)庫吹由,或者特定的表呛讲。

應(yīng)用場景

讀寫分離

在開發(fā)工作中庐镐,有時候會遇見某個sql 語句需要鎖表恩商,導(dǎo)致暫時不能使用讀的服務(wù),這樣就會影響現(xiàn)有業(yè)務(wù)必逆,使用主從復(fù)制怠堪,讓主庫負(fù)責(zé)寫,從庫負(fù)責(zé)讀名眉,這樣粟矿,即使主庫出現(xiàn)了鎖表的情景,通過讀從庫也可以保證業(yè)務(wù)的正常運(yùn)作璧针。當(dāng)讀的壓力增加時嚷炉,也可以通過配置多個從數(shù)據(jù)庫,一起分擔(dān)讀取數(shù)據(jù)的壓力探橱,提高系統(tǒng)的穩(wěn)定性。

架構(gòu)擴(kuò)展

隨著系統(tǒng)中業(yè)務(wù)訪問量的增大绘证,如果是單機(jī)部署數(shù)據(jù)庫隧膏,就會導(dǎo)致I/O訪問頻率過高。有了主從復(fù)制嚷那,增加多個數(shù)據(jù)存儲節(jié)點(diǎn)胞枕,將負(fù)載分布在多個從節(jié)點(diǎn)上,降低單機(jī)磁盤I/O訪問的頻率魏宽,提高單個機(jī)器的I/O性能腐泻。

原理圖

主從同步后的操作原則:

主數(shù)據(jù)庫一般只負(fù)責(zé)做增刪改操作,極少負(fù)責(zé)查詢,從數(shù)據(jù)庫只負(fù)責(zé)做查詢,不負(fù)責(zé)增刪改操作,此時主數(shù)據(jù)庫中數(shù)據(jù)的變動會通過某種方式,自動同步到所有的從數(shù)據(jù)庫中,最終保持?jǐn)?shù)據(jù)一致

1. Master中開啟一個線程,把數(shù)據(jù)變動記錄到一個二進(jìn)制的日志文件(binary log)中

2. Slave中開啟一個IO線程專門用于讀取Master中二進(jìn)制日志內(nèi)容,并且把數(shù)據(jù)寫入自己的回放日志文件(relay log)中

3. Slave中SQL線程去讀取回放日志(relay log)的內(nèi)容,把Master中執(zhí)行的DML進(jìn)行回放,完成主從同步

注意:主從同步是有一定延遲的,所以無法保證從數(shù)據(jù)庫中馬上能讀取到主數(shù)據(jù)庫同步的信息,因此只要業(yè)務(wù)方法中涉及到寫的操作,那么該操作必須在主數(shù)據(jù)庫上執(zhí)行

實現(xiàn)步驟

準(zhǔn)備工作: 先讓Master和Slave都擁有相同的數(shù)據(jù)庫,并且數(shù)據(jù)庫中的表數(shù)據(jù)一致

1. 在Master的配置文件中[mysqld]部分做以下配置,開啟binary-log

然后重啟MySQL服務(wù)器后,再次登錄進(jìn)去看使用SQL命令查看信息,顯示以下內(nèi)容及表示第一步成功了

2. 在Master數(shù)據(jù)庫中新建一個新用戶專門用于做主從同步

3. 在Slave的配置文件中[mysqld]部分做以下配置,然后重啟服務(wù)器

linux中重啟mysql則需要用到命名: service mysqld restart

linux中mysql配置文件的默認(rèn)路徑是: /etc/my.cnf

4. 登錄Slave中執(zhí)行SQL

讀寫分離

原理圖

1. 一個連接池只能操作一個數(shù)據(jù)庫,現(xiàn)在我們項目有多個數(shù)據(jù)庫,就必須為每一個數(shù)據(jù)庫配置對應(yīng)的連接池

2. 在執(zhí)行SQL語句的使用,根據(jù)執(zhí)行的操作來選擇使用哪個連接池進(jìn)行操作,如:執(zhí)行DML就必須是選擇MasterDataSource來操作,執(zhí)行DQL操作就選擇SlaveDataSource來操作

3. 此時應(yīng)當(dāng)再有一個對象,該對象擁有管理所有連接池和選擇連接池的來使用的功能,該對象就是具有路由功能的連接池

4. 當(dāng)調(diào)用者需要進(jìn)行數(shù)據(jù)庫操作時,再告訴路由連接池我需要你幫我選擇哪個連接池進(jìn)行操作數(shù)據(jù)庫即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市队询,隨后出現(xiàn)的幾起案子派桩,更是在濱河造成了極大的恐慌,老刑警劉巖蚌斩,帶你破解...
    沈念sama閱讀 212,949評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铆惑,死亡現(xiàn)場離奇詭異,居然都是意外死亡送膳,警方通過查閱死者的電腦和手機(jī)员魏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,772評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叠聋,“玉大人撕阎,你說我怎么就攤上這事÷挡梗” “怎么了虏束?”我有些...
    開封第一講書人閱讀 158,419評論 0 348
  • 文/不壞的土叔 我叫張陵名斟,是天一觀的道長。 經(jīng)常有香客問我魄眉,道長砰盐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,812評論 1 285
  • 正文 為了忘掉前任坑律,我火速辦了婚禮岩梳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘晃择。我一直安慰自己冀值,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,927評論 6 386
  • 文/花漫 我一把揭開白布宫屠。 她就那樣靜靜地躺著列疗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浪蹂。 梳的紋絲不亂的頭發(fā)上抵栈,一...
    開封第一講書人閱讀 50,102評論 1 291
  • 那天,我揣著相機(jī)與錄音坤次,去河邊找鬼古劲。 笑死,一個胖子當(dāng)著我的面吹牛缰猴,可吹牛的內(nèi)容都是我干的产艾。 我是一名探鬼主播,決...
    沈念sama閱讀 39,171評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼滑绒,長吁一口氣:“原來是場噩夢啊……” “哼闷堡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疑故,我...
    開封第一講書人閱讀 37,921評論 0 268
  • 序言:老撾萬榮一對情侶失蹤杠览,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后焰扳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倦零,經(jīng)...
    沈念sama閱讀 44,366評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,675評論 2 327
  • 正文 我和宋清朗相戀三年吨悍,在試婚紗的時候發(fā)現(xiàn)自己被綠了扫茅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,820評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡育瓜,死狀恐怖葫隙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躏仇,我是刑警寧澤恋脚,帶...
    沈念sama閱讀 34,523評論 4 335
  • 正文 年R本政府宣布腺办,位于F島的核電站,受9級特大地震影響糟描,放射性物質(zhì)發(fā)生泄漏怀喉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,162評論 3 317
  • 文/蒙蒙 一船响、第九天 我趴在偏房一處隱蔽的房頂上張望躬拢。 院中可真熱鬧,春花似錦见间、人聲如沸聊闯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,885評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菱蔬。三九已至,卻和暖如春史侣,著一層夾襖步出監(jiān)牢的瞬間拴泌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,126評論 1 267
  • 我被黑心中介騙來泰國打工抵窒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弛针,地道東北人。 一個月前我還...
    沈念sama閱讀 46,647評論 2 362
  • 正文 我出身青樓李皇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宙枷。 傳聞我的和親對象是個殘疾皇子掉房,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,732評論 2 351

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