熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

UNIX設置MySql數據同步 實現復制功能

2013-11-23 21:01:10  來源: MySQL 

  mysql從版本以後提供數據庫復制功能利用該功能可以實現兩個數據庫同步主從模式互相備份模式的功能

  數據庫同步復制功能的設置都在mysql的設置文件中體現mysql的配置文件(一般是f)

  

  在unix環境下在/etc/mysql/f 或者在mysql用戶的home目錄下面的f

  

  window環境中如果c:根目錄下有f文件則取該配置文件當運行mysql的winmysqladminexe工具時候該工具會把 c:根目錄下的f 命名為mycnfbak並在winnt目錄下創建myinimysql服務器啟動時候會讀該配置文件所以可以把f中的內容拷貝到 myini文件中用myini文件作為mysql服務器的配置文件

  

  設置方法

  

  設置范例環境

  

  操作系統window professional

  

  mysqlbetamaxntlog

  

  A ip:

  

  B ip:

  

  A:設置

  

  增加一個用戶最為同步的用戶帳號

  

  GRANT FILE ON ** TO backup@ IDENTIFIED BY

  

  

  增加一個數據庫作為同步數據庫

  

  create database backup

  

  

  B:設置

  

  增加一個用戶最為同步的用戶帳號

  

  GRANT FILE ON ** TO backup@ IDENTIFIED BY

  

  

  增加一個數據庫作為同步數據庫

  

  create database backup

  

  主從模式A>B

  

  A為master

  

  修改A mysql的myini文件在mysqld配置項中加入下面配置

  

  serverid=

  logbin

  #設置需要記錄log 可以設置logbin=c:mysqlbakmysqllog 設置日志文件的目錄

  #其中mysqllog是日志文件的名稱mysql將建立不同擴展名文件名為mysqllog的幾個日志文件

  binlogdodb=backup #指定需要日志的數據庫

  

  

  重起數據庫服務

  

  用show master status 命令看日志情況

  

  B為slave

  

  修改B mysql的myini文件在mysqld配置項中加入下面配置

  

  serverid=

  masterhost=

  masteruser=backup #同步用戶帳號

  masterpassword=

  masterport=

  masterconnectretry= 預設重試間隔

  replicatedodb=backup 告訴slave只做backup數據庫的更新

  

  

  重起數據庫

  

  用show slave status看同步配置情況

  

  注意由於設置了slave的配置信息mysql在數據庫目錄下生成

  

  所以如有要修改相關slave的配置要先刪除該文件否則修改的配置不能生效

  

  雙機互備模式

  

  如果在A加入slave設置在B加入master設置則可以做B>A的同步

  

  在A的配置文件中 mysqld 配置項加入以下設置

  

  masterhost=

  masteruser=backup

  masterpassword=

  replicatedodb=backup

  masterconnectretry=

  

  

  在B的配置文件中 mysqld 配置項加入以下設置

  

  logbin=c:mysqllogmysqllog

  binlogdodb=backup

  

  

  注意當有錯誤產生時*err日志文件同步的線程退出當糾正錯誤後要讓同步機制進行工作運行slave start

  

  重起AB機器則可以實現雙向的熱備

  

  測試

  

  向B批量插入大數據量表AA()條

  

  A數據庫每秒鐘可以更新條數據


From:http://tw.wingwit.com/Article/program/MySQL/201311/29446.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.