程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> windows下 MySQL數據庫雙向同步 配置步驟,mysql數據庫

windows下 MySQL數據庫雙向同步 配置步驟,mysql數據庫

編輯:MySQL綜合教程

windows下 MySQL數據庫雙向同步 配置步驟,mysql數據庫


      最近在項目中遇到了要實現服務器上MySql數據雙向同步,在網上找了很多資料,但是大部分都是在liux系統下配置的,

而且都是互相轉載,沒有一個詳細的步驟,於是決定寫一個windows系統下的完整配置,與大家分享,如有不足之處,

請大家指正。

 

工具/原料

  • 兩台服務器,操作系統均為window2012 數據中心版,其中一台服務器為A,IP地址為:192.168.1.2,另外一台為B,IP地址為:192.168.1.3

  • mysql  的版本最好保持一致,大版本號一定要一致,小更新不影響,比如5.6.10,5.6.11這兩個版本就算一致,如果一個是5.5,一個是5.6就不行

方法/步驟

添加同步賬戶。向兩台服務器上的mysql添加賬戶,進入Mysql命令界面,輸入密碼進入。

如下圖:執行Mysql命令,mysql> grant replication slave,replication client on *.*     to repl@'192.168.1.%' identified by '123456';

說明:repl是賬戶名稱,123456是對應的密碼,192.168.1.%是局域網內可訪問,也可指定某一台服務器,把%換成對應的IP即可。注:以上命令在A、B服務器上都要執行。

image

image

配置A服務器。

找到mysql的配置文件my.ini,在[mysqld]下面添加以下配置:

log_bin=mysql-bin        #說明:log_bin:指定二進制日志文件的位置和命名
server_id=1                  #server_id:MySql服務器標示,必須保證唯一
replicate_do_db=ftest   #replicate_do_db:要同步的數據庫名稱,多個用逗號隔開,此項可不配置
sync_binlog=1              #sync_binlog:是否將二進制日志文件同步到磁盤上,大於0為開戶
log_slave_updates=1      #將事件自動寫到填制日志中注

注:保存文件後,要重新啟動MySql服務,然後同樣的操作在B服務器上操作一遍。(此處要注意server_id絕對不能相同,如果相同就會出錯)

image

imageimage

兩台服務器配置完成以後,先在B服務器上開啟復制功能。這一步不需要修改my.ini文件,只需要執行mysql命令,以下是命令:

mysql> change master to master_host='192.168.1.2',   

      -> master_user='repl',   

      -> master_password='123456',   

      -> master_log_file='mysql-bin.000001',   

      -> master_log_pos=0;

說明:master_host:A服務器的IP地址     

        master_user:我們在第一步創建的同步賬號    

        master_password:對應的賬號密碼     

        master_log_file:二進制日志文件名稱,不一定是這個名稱,可以用命令來查看                     

        用 show master status\g;來查詢名稱和pos    

        master_log_pos:用上面的命令可以查出來此值

image

開啟復制功能

用 show slave status\g; 來檢查復制是否已經正常運行,若Slave_IO_State為空,Slave_IO_Running、Slave_IO_Running為NO,

則復制功能未運行,我們用 start slave;來啟動 復制功能。

再用命令 show slave status\g; 查看,這時我們看到Slave_IO_State為:Waiting for master to send eventSlave_IO_Running、

Slave_SQL_Running為YES,表明配置已經成功,復制功能已經正常運行。然後配置A服務器,步驟和配置B服務器一樣。

注:一定要小心配置裡面的參數,要把對應的master_host、master_log_file、master_log_pos配置正確

image

 

image

image

測試數據是否同步成功,在A服務器上修改ftest數據庫的一個表數據,然後在B服務器上查看,數據是否變化了呢,如果變化了,

說明已經配置成功。然後修改B服務器的數據,再去A服務器上查看,如果數據也變化了,雙向同步 的數據同步功能就成功了.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved