少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          環(huán)境

          配置Mysql的MasterSlave至少需要兩臺機(jī)器。我這里使用三臺虛擬機(jī)進(jìn)行測試。三臺機(jī)器配置完全一樣,MySQL安裝的路徑也是一樣:

          第一臺:10.1.5.181; Windows 2008 DataCenter + MySQL Community Server 5.6.10.1

          第二臺:10.1.5.182; Windows 2008 DataCenter + MySQL Community Server 5.6.10.1

          第三臺:10.1.5.183; Windows 2008 DataCenter + MySQL Community Server 5.6.10.1

           

          第一臺10.1.5.181用作master,其他兩臺用做slave。

          配置Master

          在10.1.5.181這臺服務(wù)器上找到MySQL的配置文件my.ini。我的具體路徑是在C:\ProgramData\MySQL\MySQL Server 5.6下。

          打開配置文件,在最下面添加如下配置:

          ************************************************************************************

          #Master start
          #日志輸出地址 主要同步使用
          log-bin=master-bin.log
          #同步數(shù)據(jù)庫
          binlog-do-db=test
          #主機(jī)id 不能和從機(jī)id重復(fù)
          server-id=1
          #Master end

          ************************************************************************************

          master的配置比較少,server-id是為這一組master/slave服務(wù)器定的唯一id,master/slave服務(wù)器中不能重復(fù)。在binlog-do-db中填寫對象要同步的數(shù)據(jù)庫,如果有多個,用逗號分隔,或再寫一行如binlog-do-db=test2。

           

          配置Slave

          同樣在第二臺機(jī)器上10.1.5.181找到配置文件my.ini。打開配置文件,在最下面添加如下配置:

          *****************************************************************************

          report-host = 10.1.5.181
          report-user = root
          report-password = root123
          log-bin = slave-bin.log
          replicate-do-db = test

          server-id = 2

          *****************************************************************************

          這里需要添加master的IP,連接master的用戶名和密碼,生產(chǎn)環(huán)境中需要新建一個用戶專門來處理replication,這里沒有新建用戶,用root做測試。端口沒有配置,就是使用默認(rèn)的3306,如果端口有變化,則通過report-port=?來配置。log-bin是記錄日志的位置。

          然后通過命令start slave來啟動mysql的復(fù)制功能。如果在start slave過程中出現(xiàn)異常:

          The server is not configured as slave; fix in config file or with CHANGE MASTER TO

          可以通過下面語句解決:

          change master to master_host='10.1.5.181',master_user='root',master_password='root123',master_log_file='master-bin.000001' ,master_log_pos=120;

          使用show slave status 命令來查來看運(yùn)行狀態(tài)。特別關(guān)注兩個屬性,是否為“Yes”,如果都為“Yes”,則說明運(yùn)行正常。

          Slave_IO_Running:連接到主庫,并讀取主庫的日志到本地,生成本地日志文件

          Slave_SQL_Running:讀取本地日志文件,并執(zhí)行日志里的SQL命令。

           

          同樣的配置再在第三臺機(jī)器上配置一下,server-id修改成3。重啟slave和master的mysqld服務(wù)。然后測試,在三臺服務(wù)器上都確保有數(shù)據(jù)庫test,然后在master服務(wù)器的test數(shù)據(jù)庫上建表和數(shù)據(jù),之后再兩臺slave上面都會看見數(shù)據(jù)的同步。

           

          Mysql的MasterSlave同步時通過二進(jìn)制文件進(jìn)行同步的。在Master端,你可以在C:\ProgramData\MySQL\MySQL Server 5.6\data的master-bin.log日志文件里看見所有同步的sql腳本,master-bin.log是配置master時候輸入的。在slave端,你可以在MySQL02-relay-bin類似的文件中找到日志。

          http://www.cnblogs.com/haoxinyue/archive/2013/04/02/2995280.html
          posted on 2015-08-10 03:26 abin 閱讀(442) 評論(0)  編輯  收藏 所屬分類: mysql
          主站蜘蛛池模板: 安仁县| 常熟市| 桐柏县| 循化| 青河县| 申扎县| 烟台市| 噶尔县| 林口县| 德庆县| 黔江区| 扎兰屯市| 临颍县| 阿勒泰市| 丹东市| 略阳县| 武乡县| 舞阳县| 仙桃市| 凤凰县| 平顶山市| 腾冲县| 柳江县| 西充县| 宝丰县| 扎赉特旗| 五原县| 山阳县| 清丰县| 大名县| 陇南市| 虞城县| 米泉市| 赣州市| 海晏县| 双城市| 左贡县| 游戏| 泗洪县| 普格县| 永昌县|