1. 程式人生 > >mysql叢集主從及多主

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)提供服務,任何一臺掛掉的時候,另一臺立刻無縫接管。