更新時(shí)間:2020-08-06 11:41:09 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2014次
大家對(duì)MySQL并不陌生,MySQL不僅是最流行的開源數(shù)據(jù)庫,而且是業(yè)界成長(zhǎng)最快的數(shù)據(jù)庫,每天有超過7萬次的下載量,其應(yīng)用范圍從大型企業(yè)到專有的嵌入應(yīng)用系統(tǒng)。mysql主從復(fù)制配置原理還是有些復(fù)雜的,復(fù)制過程中一個(gè)服務(wù)器充當(dāng)服務(wù)器,而一個(gè)或多個(gè)其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫入二進(jìn)制日志,并維護(hù)文件的一個(gè)索引以跟蹤日志循環(huán)。這些日志可以記錄發(fā)送到從服務(wù)器的更新。當(dāng)一個(gè)從服務(wù)器連接主服務(wù)器時(shí),它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置,從服務(wù)器接收從那時(shí)起發(fā)生的任何更新,然后封鎖等等主服務(wù)器通知新的更新。

大家可要注意一下,當(dāng)你進(jìn)行復(fù)制的時(shí)候,所有對(duì)復(fù)制中的表的更新必須在主服務(wù)器上進(jìn)行。否則,你必須要小心,以避免用戶對(duì)主服務(wù)器上的表進(jìn)行的更新與對(duì)服務(wù)器上的表所進(jìn)行的更新之間的沖突。
MySQL支持的復(fù)制類:
1、基于語句的復(fù)制。 在主服務(wù)器上執(zhí)行的 SQL 語句,在從服務(wù)器上執(zhí)行同樣的語句。否則,你必須要小心,以避免用戶對(duì)主服務(wù)器上的表進(jìn)行的更新與對(duì)服務(wù)器上的表所進(jìn)行的更新之間的沖突,配置:binlog_format = 'STATEMENT'
2、基于行的復(fù)制。把改變的內(nèi)容復(fù)制過去,而不是把命令在從服務(wù)器上執(zhí)行一遍,從 MySQL 5.0開始支持,配置:binlog_format = 'ROW'
3、混合類型的復(fù)制。默認(rèn)采用基于語句的復(fù)制,一旦發(fā)現(xiàn)基于語句的無法精確的復(fù)制時(shí),就會(huì)采用基于行的復(fù)制,配置:binlog_format = 'MIXED'
mysql復(fù)制解決的問題:
1、數(shù)據(jù)分布
2、負(fù)載平衡
3、備份
復(fù)制是如何工作的?可以簡(jiǎn)化為三個(gè)步驟:
1、Master 將改變記錄到二進(jìn)制日志中。
2、Slave 將 Master 的二進(jìn)制日志拷貝到它的中繼日志( Relay_log )
3、Slave 重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“mysql主從復(fù)制配置原理”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)