MySql數據庫同步複製

    MySql數據庫同步複製 MySql數據庫同步複製
  該功能可以實現兩個數據庫同步,主從模式,互相備份模式的功能。
  數據庫同步複製功能的設置都在mysql的設置文件中體現。mysql的配置文件(windows下爲my.ini,Unix/Linux下爲my.cnf)
  1、實施環境:
  操作系統:2臺linux AS 4[up3]
  mysql:mysql-4.1.15.tar.gz
  SvrA ip:192.168.1.10
  SvrB ip:192.168.1.11
  2、配置方法
  Demo 1:主從模式[Master->Slave]:A->B
  =====step 1:分別在SvrA、SvrB上配置同步DB及Account=====
  Step A:SvrA上配置
  1.增加一個用戶最爲同步的用戶帳號:
  GRANT FILE ON *.* TO backup.user@'192.168.1.11' IDENTIFIED BY ‘rsync.mysql’;
  2.增加一個數據庫作爲同步數據庫:
  create database backup;
  Step B:SvrB上配置
  1.增加一個用戶最爲同步的用戶帳號:
  GRANT FILE ON *.* TO backup.user@'192.168.1.10' IDENTIFIED BY ‘rsync.mysql’;
  2.增加一個數據庫作爲同步數據庫:
  create database backup;
   ====step 2:配置Master、Slave參數======
  主從模式:A->B即SvrA爲master ,SvrB爲slave
  1、修改SvrA 中mysql的my.cnf文件。在mysqld配置項中加入下面配置:
  server-id=1
  log-bin
  binlog-do-db=backup
  注
  Log-bin #設置需要記錄log 可以設置log-bin=/Data/logs/mysqllog 設置日誌文件的目錄[其中mysqllog是日誌文件的名稱,mysql     將建立不同擴展名,文件名爲mysqllog的幾個日誌文件]。
  binlog-do-db=backup #指定需要日誌的數據庫
  配置完後重起數據庫服務。
  用show master status 命令看日誌情況。
  2、修改SvrB中 mysql的my.cnf文件。在mysqld配置項中加入下面配置:
  server-id=2
  master-host=192.168.1.10
  master-user=backup.user #同步用戶帳號
  master-password=rsync.mysql
  master-port=3306
  master-connect-retry=10 預設重試間隔10秒
  replicate-do-db=backup 告訴slave只做backup數據庫的更新
  配置完後重起數據庫
  用show slave status看同步配置情況。
  注意:由於設置了slave的配置信息,mysql在數據庫目錄下生成master.info
  所以如有要修改相關slave的配置要先刪除該文件。否則修改的配置不能生效。
  Demo 2、雙機互備模式。
  如果在A加入slave設置,在B加入master設置,則可以做B->A的同步。
  在A的配置文件中 mysqld 配置項加入以下設置:
  master-host=192.168.1.11
  master-user=backup.user
  master-password=rsync.mysql
  replicate-do-db=backup
  master-connect-retry=10
  在B的配置文件中 mysqld 配置項加入以下設置:
  log-bin
  binlog-do-db=backup
  注意:當有錯誤產生時*.err日誌文件。同步的線程退出,當糾正錯誤後要讓同步機制進行工作,運行slave start
  重起AB機器,則可以實現雙向的熱備。
  注:
  1、 在處理Slave中MYSQL,默認是啓用server-id=1,所以將其修改爲server-id=2
  2、 在測試時,可以測試一下互連狀態
  Mysql –h ServerA/B –u backup.user –p
  3、 關於Master->多個Slave,可以參考MYSQL官方文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章