天天看點

MySQL建立雙向主備複制伺服器配置方法

1、環境描述

  伺服器a(主) 192.85.1.175

  伺服器b(從) 192.85.1.176

  mysql版本:5.1.61

       系統版本:system os:ubuntu 10.10 x86

(系統安裝及資料環境搭建,省略)

2. 建立同步使用者:

在服務b指令行執行 :

在伺服器a指令行執行:

在a與b伺服器上檢查主備複制賬号是否正常:

(1)分别在a與b伺服器上的mysql指令行執行 “  show grants for ‘replication‘@‘%‘;”

如果輸出結果類似于如下,表示正常,其他均為異常

(2)使用主備複制賬号在a伺服器遠端登入b ,在b伺服器遠端登入a ,測試 ,如果可以正常登入說明,賬号正常,可以使用。

如果出現如下錯誤資訊:

導緻原因是,mysql資料庫不允許遠端通路,需要分别修改a與b伺服器 中資料庫配置檔案my.cnf  ,注釋掉 “   bind-address           = 127.0.0.1 ” 即為 “#bind-address           = 127.0.0.1”

分别重新啟動mysql伺服器 ,測試正常 

3.配置資料主切換 之伺服器a ,修改其對應的資料配置檔案----my.cnf ,在 [mysqld}添加如下行

配置資訊簡單介紹:

server-id               = 1    #主機标示,整數

log_bin                 = /var/log/mysql/mysql-bin.log   #確定此檔案可寫

binlog-do-db         =hrkip_zhhwd   #需要備份資料,多個寫多行

binlog-ignore-db    =mysql #不需要備份的資料庫,多個寫多行

master-user = replication   #遠端登入資料庫使用者名稱

master-password = mysqlsync #遠端登入資料庫使用者密碼

master-port = 3306 #遠端資料庫伺服器端口号,可以使用 show variables like ‘port‘; 指令檢視,必要與目标資料庫伺服器端口号一緻

4.配置資料主切換 之伺服器b ,修改其對應的資料配置檔案----my.cnf ,在 [mysqld}添加如下行

5.檢查配置是否正常(l兩台伺服器上分别檢查):

啟動 slave 服務 ,在mysql指令行執行

檢視slave 狀态 ,執行指令:

如果需要重新啟動slave 伺服器,首先 執行 slave stop  ,再執行 reset  slave , 删除  mysql 資料庫對應的my.cnf 檔案中log_bin目錄( /var/log/mysql/ )下的"  mysql-bin."開頭的所有檔案,之後再執行slave start 指令 。

6.進行測試,主備是否正常工作,slave 啟動時,隻需要在一個伺服器上啟動,例如在伺服器a上啟動後。

在伺服器a資料中插入

在伺服器b中可以看到對應的記錄 。

同樣在伺服器b中插入 :

在伺服器a中可以看到對應的記錄 。

測試ok 。