程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql的實時同步-雙機互備(雙master)

Mysql的實時同步-雙機互備(雙master)

編輯:MySQL綜合教程

Mysql的實時同步-雙機互備(雙master)   設置方法:  步一 設  A 服務服 (192.168.1.43) 上 用戶為 backup, 123456 , 同步的數據庫為test;  B 服務服 (192.168.1.23) 上 用戶為 root, 123456, 同步的數據庫為test;    步二 配置 mysql.ini:  A服務器    #Replication master  server-id = 10  log-bin="E:/MySQL/logs/mysql_binary_log"  binlog-do-db=test  binlog-Ignore-db=information_schema  # 單向備份時 A只需上面部分 B只需下面部分 下面部分同樣需加server-id  # Replication slave  master-host="192.168.1.23"  master-user=root  master-password="123456"  master-port=3306  master-connect-retry=60  replicate-do-db=test  replicate-Ignore-db=information_schema    B服務器    #Replication master  server-id = 2  log-bin="c:/mysql5/logs/mysql_binary_log"  binlog-do-db=test  binlog-Ignore-db=information_schema    # Replication slave  master-host="192.168.1.43"  master-user=backup  master-password=123456  master-port=3306  master-connect-retry=60  replicate-do-db=test  replicate-Ignore-db=information_schema    =============================================================  解釋:    3)binlog-do-db=test 表示需要備份的數據庫是test這個數據庫,  如果需要備份多個數據庫,那麼應該寫多行,如下所示:  binlog-do-db=backup1  binlog-do-db=backup2  binlog-do-db=backup3    解釋:  1) server-id=2表示本機器的序號, A,B的server-id 不能相同;  2)log-bin表示打開binlog,打開該選項才可以通過I/O寫到Slave的relay-log,也是可以進行replication的前提;  其中mysql_binary_log是日志文件的名稱,mysql將建立不同擴展名,文件名為mysql_binary_log的幾個日志文件.  3) master-host="192.168.1.23" 表示A做slave時的master為192.168.1.23;  4) master-user=root 這裡表示master上開放的一個有權限的用戶,使其可以從slave連接到master並進行復制;  5) master-password=123456 表示授權用戶的密碼;  6) master-port=3306 master上MySQL服務Listen3306端口;  7) master-connect-retry=60 同步間隔時間;  8) replicate-do-db=test 表示同步backup數據庫;    最後重新啟動兩台機器的mysql.  ------------------------------------------------  查看狀態 及調試    1,查看master的狀態  SHOW MASTER STATUS;  Position 不應為0  2,查看slave的狀態  show slave status;  Slave_IO_Running | Slave_SQL_Running 這兩個字段 應為 YES|YES.  show processlist;  會有兩條記錄與同步有關 state為 Has read all relay log; waiting for the slave I/O thread to update it  和s Waiting for master to send event .  3,錯誤日志  MySQL安裝目錄dataHostname.err    主服務器上的相關命令:  show master status  show slave hosts  show {master|binary} logs  show binlog events  purge {master|binary} logs to ’log_name’  purge {master|binary} logs before ’date’  reset master(老版本flush master)  set sql_log_bin={0|1}  -----------------------------------------------------------------------------------  從服務器上的相關命令:  slave start  slave stop  SLAVE STOP IO_THREAD //此線程把master段的日志寫到本地  SLAVE start IO_THREAD  SLAVE STOP SQL_THREAD //此線程把寫到本地的日志應用於數據庫  SLAVE start SQL_THREAD  reset slave  SET GLOBAL SQL_SLAVE_SKIP_COUNTER  load data from master  show slave status(SUPER,REPLICATION CLIENT)  CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //動態改變master信息  PURGE MASTER [before ’date’] 刪除master端已同步過的日志   

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