更新時間:2020-08-06 11:41:09 來源:動力節(jié)點 瀏覽1717次
大家對MySQL并不陌生,MySQL不僅是最流行的開源數(shù)據(jù)庫,而且是業(yè)界成長最快的數(shù)據(jù)庫,每天有超過7萬次的下載量,其應(yīng)用范圍從大型企業(yè)到專有的嵌入應(yīng)用系統(tǒng)。mysql主從復(fù)制配置原理還是有些復(fù)雜的,復(fù)制過程中一個服務(wù)器充當(dāng)服務(wù)器,而一個或多個其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫入二進(jìn)制日志,并維護(hù)文件的一個索引以跟蹤日志循環(huán)。這些日志可以記錄發(fā)送到從服務(wù)器的更新。當(dāng)一個從服務(wù)器連接主服務(wù)器時,它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置,從服務(wù)器接收從那時起發(fā)生的任何更新,然后封鎖等等主服務(wù)器通知新的更新。
大家可要注意一下,當(dāng)你進(jìn)行復(fù)制的時候,所有對復(fù)制中的表的更新必須在主服務(wù)器上進(jìn)行。否則,你必須要小心,以避免用戶對主服務(wù)器上的表進(jìn)行的更新與對服務(wù)器上的表所進(jìn)行的更新之間的沖突。
MySQL支持的復(fù)制類:
1、基于語句的復(fù)制。 在主服務(wù)器上執(zhí)行的 SQL 語句,在從服務(wù)器上執(zhí)行同樣的語句。否則,你必須要小心,以避免用戶對主服務(wù)器上的表進(jìn)行的更新與對服務(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ù)制時,就會采用基于行的復(fù)制,配置:binlog_format = 'MIXED'
mysql復(fù)制解決的問題:
1、數(shù)據(jù)分布
2、負(fù)載平衡
3、備份
復(fù)制是如何工作的?可以簡化為三個步驟:
1、Master 將改變記錄到二進(jìn)制日志中。
2、Slave 將 Master 的二進(jìn)制日志拷貝到它的中繼日志( Relay_log )
3、Slave 重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)
以上就是動力節(jié)點java培訓(xùn)機(jī)構(gòu)的小編針對“mysql主從復(fù)制配置原理”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
0基礎(chǔ) 0學(xué)費 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)
初級 202925
初級 203221
初級 202629
初級 203743