什麼是讀寫分離?
當我們的數據量很大時,數據庫服務器的壓力變大,這時候我們需要從架構方面來解決這一問題,在一個網站中讀的操作很多,寫的操作很少,這時候我們需要配置讀寫分離,把讀操作和寫操作分離出來,最大程度的利用好數據庫服務器。
讀寫分離原理:
執行SQL語句的時候,判斷到底是讀操作還是寫操作,把讀的操作轉向到讀服務器上(從服務器,一般是多臺),寫的操作轉到寫的服務器上(主服務器,一般是一臺,視數據量來看)。
當然爲了保證多臺數據庫數據的一致性,需要主從複製。
主從複製原理:
mysql中有一種日誌,叫做bin日誌(二進制日誌),會記錄下所有修改過數據庫的sql語句。
多臺服務器都開啓bin日誌,然後主服務器會把執行過的sql語句記錄到bin日誌中,之後從服務器讀取這個bin日誌,把該日誌的內容保存到自己中繼日誌裏面,從服務器再把中繼日誌中記錄的sql語句同樣的執行一遍。這樣從服務器上的數據就和主服務器相同了。