mysql叢集主從及多主
基礎環境
系統:linux
mysql版本:5.5
主伺服器IP:192.168.1.101
從伺服器IP:192.168.1.102
1.主伺服器(master)要開啟二進位制日誌
2.從伺服器(slave)要開啟relay日誌
3.在主伺服器(master)上建立replcation賬號授權給從伺服器(slave)
4.修改從伺服器(slave)的master伺服器
5.啟動slave
操作步驟:
1.主庫的操作
vim /etc/my.cnf
然後在[mysqld]下新增如下配置
#給伺服器起一個唯一的id server-id=1 #開啟二進位制日誌 log-bin=mysql-bin #指定日誌格式 binlog-format=mixed
儲存後重啟mysql
2.從庫操作
vim /etc/my.cnf
然後在[mysqld]下新增如下配置
#給伺服器起一個唯一的id server-id=2 #從伺服器中繼日誌 relay-log=mysql-relay
儲存後重啟mysql
3.在主伺服器上建立相應的複製賬號
grant replication client,replication slave on *.* to [email protected]’192.168.%.%’ identified by ‘123456’;
其中是replName是帳號名,123456是密碼,這兩項都可以自己修改
4.在從伺服器通過語句指定要複製的主伺服器(注意,可以一主多從,不可一從多主).
change master to master_host=’192.168.1.101’, master_user=’replName’, master_password=’123456’, master_log_file=’mysql-bin.000001’, master_log_pos=0;
//沒有slaveof這樣的設定
說明:
master_host是主伺服器IP
master_user是剛才設定的主伺服器複製帳號
master_password是剛才設定的主伺服器複製帳號密碼
master_log_file是主伺服器二進位制日誌檔案
master_log_pos是複製二進位制檔案的開始點
master_log_pos和master_log_file可以在主資料庫中通過執行show master status;獲取到
5.啟動slave
slave start
注意防火牆設定
主主配置
主從配置搞完以後,主主配置就很簡單了,
基本思路:
1: 2臺伺服器都設定上2進位制日誌和relay日誌
2: 都設定上replcation複製賬號
3: 都設定對方為自己的master
mysql提供成熟的主主複製,結合keepalived動態IP,可以做到兩個結點同時準備(ready)提供服務,任何一臺掛掉的時候,另一臺立刻無縫接管。