91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中復制機制的原理是什么

發布時間:2021-06-16 17:12:19 來源:億速云 閱讀:311 作者:Leah 欄目:MySQL數據庫

MySQL中復制機制的原理是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

背景介紹

復制,就是對數據的完整拷貝,說到為什么要復制,首先能想到的是怕數據意外丟失,使得用戶蒙受損失。

當完成了數據復制之后,會發現它的優勢不止這一點,假如一臺機器宕機了,可以啟用備份在另一臺機器的數據。畢竟宕機的概率很小,閑暇時間還可以讓備份機器分擔主機器的流量壓力。除此之外,當要升級數據庫版本時,可以在不停止用戶服務的情況下優先升級備用機器,待觀測其可用穩定時再將主數據庫升級。

但是,也不能總讓DBA手動拷貝來完成復制,萬一在DBA蹲坑的時候宕機了,在蹲坑期間產生的數據由于沒有及時備份,會導致備用數據庫的數據缺失,所以還是要設計一套可以自動復制的機制。

設計復制機制

我們暫定被復制的數據庫為主庫,粘貼出來的為從庫,要實現主庫到從庫的復制,看起來非常簡單,只需一個計劃任務,定時將主庫數據文件復制一份,并傳輸到從庫所在服務器

MySQL中復制機制的原理是什么

但畢竟定時任務不是實時的,萬一主庫在上次復制的十分鐘后發生了故障,被激活的從庫用的是最近一次復制的數據,所以會缺失十分鐘的數據,后果不堪設想。

MySQL中復制機制的原理是什么

還是要實時復制,那可以這樣,主庫將每次執行完的語句實時發給從庫,讓從庫馬上執行,就能保證兩邊數據一致了。

MySQL中復制機制的原理是什么

不太好的是,主庫是實時發送數據給從庫的,需要等從庫執行完畢才能處理下一條語句,嚴重占用了主庫的執行時間,如果從庫過多,主庫就廢了。

MySQL中復制機制的原理是什么

還得改成異步才能節省主庫的時間,可以將主庫執行完的語句存到文件里,讓從庫來取,這樣主庫就不用等待從庫了。既然是寫到文件,速度是很快的,主庫完全可以在執行前就將語句寫到文件中,達到更高的同步效率。

MySQL中復制機制的原理是什么

上述有些問題,從庫無法做到跑去主庫取數據,只能起一個線程先與主庫建立連接,并向主庫索要數據,然后主庫也起一個線程讀取文件內容,并推給從庫線程,從庫收到語句后就可以馬上執行了。

MySQL中復制機制的原理是什么

這樣效率還是很低,主庫的線程要等從庫收到語句并執行完畢才能推下一條,如果有多個從庫,主庫就要開啟多個線程長期與各個從庫保持通信,占用主庫服務器資源,不如從庫也創建個文件臨時保存主庫發來的語句,先存起來再慢慢執行,主庫壓力小了,從庫也放心。

MySQL中復制機制的原理是什么

現在從庫有了自己的文件做中繼,就不用著急了,從庫可以再起一個線程,慢慢執行中繼文件中的語句,執行完畢之后原文件沒有價值了,就可以清理掉,免得占用服務器資源。

MySQL中復制機制的原理是什么

到目前為止,最基本的復制機制就設計完了,這種由主庫到從庫的復制方式就是典型的主從架構,在此基礎上可以進行演化,比如從庫有很多,主庫要為每個從庫推送數據,主庫的壓力會隨之增大,又因為主庫的職責不僅僅是同步數據,還要忙著讀寫數據,所以同步數據的事可以找人代替,比如在主庫與從庫之間再建立一個主庫,新建立的主庫唯一的職責就是同步數據給從庫,這樣真正的主庫就只需要推送一次數據給新建的主庫,其余時間就可以安心讀寫數據了。

MySQL中復制機制的原理是什么

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台中县| 多伦县| 温宿县| 塔河县| 云安县| 武冈市| 延边| 衡阳县| 化州市| 保山市| 甘孜县| 茌平县| 遵化市| 天峻县| 常熟市| 两当县| 长兴县| 加查县| 长宁区| 昌乐县| 常德市| 仪陇县| 嵩明县| 湘西| 门头沟区| 陈巴尔虎旗| 兴安盟| 南汇区| 满洲里市| 娄烦县| 静乐县| 喀喇沁旗| 突泉县| 渝北区| 滁州市| 沈阳市| 越西县| 宿州市| 麻江县| 介休市| 赤壁市|