少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          環境

          配置Mysql的MasterSlave至少需要兩臺機器。我這里使用三臺虛擬機進行測試。三臺機器配置完全一樣,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這臺服務器上找到MySQL的配置文件my.ini。我的具體路徑是在C:\ProgramData\MySQL\MySQL Server 5.6下。

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

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

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

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

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

           

          配置Slave

          同樣在第二臺機器上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的用戶名和密碼,生產環境中需要新建一個用戶專門來處理replication,這里沒有新建用戶,用root做測試。端口沒有配置,就是使用默認的3306,如果端口有變化,則通過report-port=?來配置。log-bin是記錄日志的位置。

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

          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 命令來查來看運行狀態。特別關注兩個屬性,是否為“Yes”,如果都為“Yes”,則說明運行正常。

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

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

           

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

           

          Mysql的MasterSlave同步時通過二進制文件進行同步的。在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 閱讀(448) 評論(0)  編輯  收藏 所屬分類: mysql
          主站蜘蛛池模板: 乌拉特中旗| 江都市| 河津市| 玉田县| 和政县| 卫辉市| 涞水县| 富阳市| 浦北县| 三江| 镇赉县| 嘉定区| 商丘市| 罗定市| 涪陵区| 广元市| 玉树县| 河东区| 房山区| 错那县| 安仁县| 临邑县| 怀远县| 张北县| 张掖市| 德庆县| 鸡西市| 富源县| 尤溪县| 乌苏市| 洞口县| 丰台区| 连平县| 门源| 桃源县| 青海省| 林甸县| 大足县| 华亭县| 汽车| 海宁市|