MySQL入門--MySQL複製技術之主從複製

panpong發表於2017-01-23

MySQL複製技術:主從

MySQL裡面建立最基本的複製,可以總結為以下三個步驟:

1. 配置一個伺服器作為Master;

2. 配置一個伺服器作為Slave;

3. Slave連線到Master.

 

1) 配置Master

1. my.cnf中引數的配置

  將伺服器配置為Master。要確保該伺服器有一個活動的二進位制日誌(binary log) 和唯一的伺服器ID.

 a. 要是Master上面的日誌沒有刪除過的話,二進位制日誌記錄了Master上面的所有改變,這些日誌在Slave上面重新執行就好了。

 b. 伺服器ID用於區分伺服器

 

建立二進位制日誌和伺服器ID 都是在my.cnf裡面設定的

其他的引數在這裡就不展示了

   log-bin  =   /data/mysql/log/vm1-bin.log

   log-bin-index  = /data/mysql/log/master-bin.index

  server-id   =           1

log-bin選項 給出了二進位制日誌產生的所有檔案的基本名(預設值是 主機名-bin);log-bin-index選項給出了二進位制索引檔案的檔名,大家都知道這個是所有二進位制檔案的列表。

每一個伺服器都有一個唯一的 server-id

就按照上面的配置 重啟服務 mysqld service restart  使得引數生效。

 

2.master上面建立複製使用者  並且賦予許可權

  例如:

create user repuser;

grant replication slave on *.* to repuser identified by 'aa12AA,.';

 

2) 配置Slave

1. my.cnf中引數的配置

    relay-log-index = /data/mysql/log/vm2-slave-bin.index

    relay-log=/data/mysql/log/vm2-slave-bin.log

    server-id   =  2

  relay-log-index 選項是中繼日誌索引檔案 ,relay-log選項是中繼日誌檔名。

2.重啟服務  使得引數生效。

 

3) 連線MasterSlave

首先找到Master的伺服器資訊  1.主機名  2.埠號(master my.cnf裡面有) 3.Master上擁有replication slave 許可權的賬號和密碼 (比如我們剛才建立的reply_user

slave上面執行建立連線的語句:

 

change master to

master_host = '192.168.12.181',

master_port = 3306,

master_user = 'repuser',

master_password = 'aa12AA,.';

 

-- 啟動複製

start slave ;

-- 檢視複製的狀態

show slave status\G;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16976507/viewspace-2132826/,如需轉載,請註明出處,否則將追究法律責任。

相關文章