首頁  >  文章  >  資料庫  >  什麼是mysql主從

什麼是mysql主從

WBOY
WBOY原創
2022-02-24 10:34:193306瀏覽

在mysql中,主從指的是建立兩個完全一樣的資料庫,其中一個作為主要使用的資料庫,另一個作為次要的資料庫,可以防止因資料庫伺服器宕機導致資料遺失,還能提供故障切換、讀寫分離和備份的功能。

什麼是mysql主從

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

什麼是mysql主從

主從介紹

#所謂mysql主從就是建立兩個完全一樣的資料庫,其中一個為主要使用的資料庫,另一個為次要的資料庫,一般在企業中,存放比較重要的資料的資料庫伺服器需要配置主從,這樣可以防止因資料庫伺服器宕機導致資料遺失,還能保證業務量太多、數據太多和訪問人數太多時服務的品質(伺服器回應速度),還能提供故障切換、讀寫分離、和備份等等功能。

主從形式

一主一從

主主複製:當作備份使用,當主伺服器發生故障時,另一個主伺服器會自動頂上。

一主多從:用來實現讀寫分離,當寫操作較少時,讀取操作較多時使用,主伺服器用來實現寫入操作,從伺服器用來實現讀取操作。

多主一從:用來實現讀寫分離,當寫操作較多時,讀取操作較少時使用,主伺服器用來實現寫入操作,從伺服器用來實現讀取操作。

傳統主從

傳統主從複製主要是基於二進位日誌檔案位置的複製,因此主必須啟動二進位日誌記錄並建立唯一的伺服器ID,複製群組中的每個伺服器都必須配置唯一的伺服器ID。如果您省略server-id(或明確地將其設定為其預設值0),則主裝置將拒絕來自從裝置的任何連線。

gtid主從

MySQL 5.6 的新特性之一,全域事務標識符(GTID)是創建的唯一標識符,並與在來源(主)伺服器上提交的每個事務相關聯。此標識符不但是唯一的,而且在給定複製設定中的所有伺服器上都是唯一的。所有交易和所有GTID之間都有一對一的映射關係 。它是由伺服器ID以及事務ID組合而成。這個全域事務ID不只在原始伺服器上唯一,在所有存在主從關係式 的mysql伺服器上也是唯一的。正是因為這樣一個特性使得mysql的主從複製變得更加簡單,以及資料庫一致性更可靠。一個GTID在一個伺服器上只執行一次,避免重複執行導致資料混亂或主從不一致。

主從複製的原理

主從複製的工作流程:主庫將使用者所有的​​寫入操作(增刪改,查除外)記錄到binlog日誌當中並且產生一個log dump線程,從庫生成I/O和SQL線程,從庫的I/O線程向主庫的log dump線程以I/O流的形式發送請求,主庫的log dump線程收到從庫I/O線程的請求後將binlog日誌發送給從庫,從庫I/O線程收到binlog日誌後將其寫道relay log(中繼日誌)文件中,再由從庫的SQL線程將relay log文件中的日誌解析成sql腳本,最後執行產生的sql腳本文件,來實現主從的操作一致,達到最終資料一致的目的。

推薦學習:mysql影片教學

#

以上是什麼是mysql主從的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn