MySQL主從複製與讀寫分離
一、基本概念
MySQL主從複製原理
1、MySQL支持的複製類型
(1)基於語句的複製。在主服務器上執行的SQL語句,在從服務器上執行同樣的語句。MySQL 默認採用基於語句的複製,效率比較高。
(2)基於行的複製。把改變的內容複製過去,而不是把命令在從服務器上執行一遍。
(3)混合類型的複製。默認採用基於語句的複製,一旦發現基於語句無法精確複製時,就會採 用基於行的複製。
2、MySQL讀寫分離原理
主數據庫處理事務性查詢,而從數據庫處理select查詢。數據庫複製被用來把事務性查詢導致的變 更同步到羣集中的從數據庫。
二、搭建MySQL主從複製
1、建立時間同步環境
在主節點上搭建時間同步服務器
配置NTP
添加
重啓服務並設置爲開機啓動
2、在從節點上進行時間同步
3、安裝 MySQL 數據庫。
在 Master、Slave1、Slave2上安裝。略
啓動MySQL服務,爲root用戶設置密碼
4、配置MySQL Master主服務器
在/etc/my.cnf中修改或者增加下面內容
重啓MySQL服務
登錄MySQL程序,給從服務器以授權
File列顯示日誌名,Position列顯示偏移量,這兩個值在後面配置從服務器的時候需要。Slave應從該點在Master上進行新的更新。
5、配置從服務器
在/etc/my.cnf中修改或者增加下面內容
登錄MySQL,配置同步
查看Slave狀態,確保以下兩個值爲Yes
三、搭建MySQL讀寫分離
1、在主機Amoeba上安裝Java環境
增加以下配置
2、安裝並配置Amoeba軟件
3、配置Amoeba讀寫分離,兩個Slave讀負載均衡
Master、Slave1、 Slave2中開放權限給Amoeba訪問
編輯amoeba.xml配置文件
編輯amoeba.xml配置文件
啓動Amoeba軟件
4、測試
在Client主機上