MySQL主從復制原理詳解

MySQL主從復制原理詳解

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

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享