MySQL主從複製原理詳解
#首先資料庫有個「bin-log」二進位文件,記錄了所有SQL語句;然後把主資料庫的「bin-log」檔案的SQL語句複製過來;最後在從資料庫的「relay-log」重做日誌檔案中執行複製SQL語句即可。
主從複製
主從複製,是用來建立一個和主資料庫完全一樣的資料庫環境,稱為從資料庫,主資料庫一般是準實時的業務資料庫。在最常用的mysql資料庫中,支援單項、非同步賦值。在賦值過程中,一個伺服器充當主伺服器,而另外一台伺服器充當從伺服器;此時主伺服器會將更新資訊寫入到特定的二進位檔案中。
並會維護檔案的一個索引用來追蹤日誌循環。這個日誌可以記錄並發送到從伺服器的更新。當一台從伺服器連接到主伺服器時,從伺服器會通知主伺服器從伺服器的記錄檔中讀取最後一次成功更新的位置。然後從伺服器會接收從哪個時刻起發生的任何更新,然後鎖住並等到主伺服器通知新的更新。
主從複製的作用
1、做資料的熱備,作為後備資料庫,主資料庫伺服器故障後,可切換到從資料庫繼續運作,避免資料遺失。
2、架構的擴充。業務量越來越大,I/O存取頻率過高,單機無法滿足,此時做多庫的存儲,降低磁碟I/O存取的頻率,提高單一機器的I/O效能。
3、讀寫分離,讓資料庫能支撐更大的並發。在報表中尤其重要。由於部分報表sql語句非常的慢,導致鎖定表,影響前台服務。如果前台使用master,報表使用slave,那麼報表sql將不會造成前台鎖,保證了前台速度。
推薦教學:《PHP》
以上是MySQL主從複製原理詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!