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

RedHat Linux 下實現MySQL 數據庫鏡像

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

  
  MySQL從版本以後提供數據庫復制功能利用該功能可以實現兩個數據庫同步主從模式互相備份模式的功能實現數據同步備份
  數據庫同步復制功能的設置都在mysql的設置文件中體現mysql的配置文件(一般是f) 在Linux環境下在/etc/f 或者在mysql用戶的home目錄下面的f
  
  設置方法
  操作系統 RedHat Linux mysqlmysqlstandardpclinuxitargz
  A Server: 主服務器master
  B Server: 副服務器slave
  A上已安裝好MySQL且已有數據庫在B上安裝mysqlstandard 安裝步驟可解壓後按INSTALLBINARY上方法安裝mysql我將其然後啟動 mysql
  
  A服務器設置
  #mysql –u root –p Master開放一個賬號dbbackup密碼給IP:有檔案處理的權限 mysql>GRANT ALL ON ** TO dbbackup@ IDENTIFIED BY mysql>exit
  #mysqladmin –u root –p shutdown
  備份Master所有數據庫通常都用tar指令 (注意:tar的時候MySQL是要在stop情況下)
  #tar zcvf /tmp/mysqltargz /usr/local/src/mysql/data
  在A機器上修改/etc/f
  [mysqld]
  logbin (生成index文件#設置需要記錄log 可以設置logbin=c:\mysqlbak\mysqllog 設置日志文件的目錄
  #其中mysqllog是日志文件的名稱mysql將建立不同擴展名文 件名為mysqllog的幾個日志文件)
  serverid=
  sqlbinupdatesame
  binlogdodb=forimage (#指定需要日志的數據庫為forimage)
  啟動A服務器mysql Bin/mysqldsafe –user=mysql serverid= & (要指定serverid)
  此時由於加入logbin參數因此開始生成index文件在/usr/local/src/mysql/data目錄下有index文件檔案紀錄數據庫的異動log #mysql –u root –p 用show master status 命令看日志情況
  
  B服務器設置
  設定/etc/f
  [mysqld]
  masterhost=
  masteruser=dbbackup (#同步用戶帳號)
  masterpassword=
  masterport=
  serverid=
  masterconnectretry= (預設重試間隔為秒 )
  replicatedodb=forimage (只對數據庫forimage更新 )
  logslaveupdates
  
  copy A上的/tmp/mysqltargz 到B上的MySQL安裝目錄的data/下並解壓縮覆蓋data/
  #chown –R mysql /usr/local/src/mysql/data/
  #cd /usr/local/src/mysql/
  #chown –R root:mysql
  重啟B服務器的mysql: #bin/mysqladmin –u root shutdown #bin/mysqlsafe –user=mysql serverid= & (要指定serverid與f對應)
  
  show slave status看同步配置情況
  #bin/mysql –u root
  則在/usr/local/src/mysq/data/目錄會出現此文件紀錄了Master MySQL server的信息 如有要修改相關slave的配置要先刪除該文件 否則修改的配置不能生效
  
  狀況測試
  A跟B網絡及服務都正常情況下由A端變化數據後到B端浏覽數據檢查是否有數據變化
  模擬B當機或是B不一定需要一直跟A有連接將由A端變化數據後到B端浏覽數據B點應該是沒有數據變化的
  
  雙機互備模式
  如果在A加入slave設置在B加入master設置則可以做B>A的同步
  在A的配置文件中 mysqld 配置項加入以下設置
  masterhost=
  masteruser=backup
  masterpassword=
  replicatedodb=backup
  masterconnectretry=
  在B的配置文件中 mysqld 配置項加入以下設置
  logbin=c:\mysqllog\mysqllog
  binlogdodb=backup
  
  注意當有錯誤產生時*err日志文件同步的線程退出當糾正錯誤後要讓同步機制進行工作運行slave start
  重啟AB機器則可以實現雙向的熱備
  
  測試
  向B批量插入大數據量表AA()條 A數據庫每秒鐘可以更新條數據

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