1. 程式人生 > >Mysql 如何做雙機熱備和負載均衡

Mysql 如何做雙機熱備和負載均衡

先簡要介紹一下mysql雙向熱備:mysql從3.23.15版本以後提供資料庫複製功能。利用該功能可以實現兩個資料庫同步,主從模式(A->B),互相備份模式(A<=>B)的功能。

mysql資料庫雙向熱備的操作實際說明:

1、mysql資料庫同步複製功能的設定都在mysql的配置檔案中體現。在linux環境下的配置檔案一般在/etc/mysql/my.cnf或者在 mysql使用者的home目錄下的my.cnf,筆者的my.cnf則在/etc/my.cnf;windows環境下則可到mysql安裝路徑下找到 my.ini。

2、配置資料同步(A->B)(以mysql版本 5.0.26為例):

假設資料庫A為主機:
A機器:
IP = 192.168.1.101
B機器:
IP = 192.168.1.102

(1)在A機器中有資料庫如下:

//資料庫A

  1. CREATE DATABASE backup_db;
  2. USE backup_db;
  3. CREATE TABLE `backup_table`(
  4. `id`int(11) NOT NULL auto_increment,
  5. `name` varchar(20) character set utf8 NOT NULL,
  6. `sex` varchar(2) character set utf8 NOT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE
    =InnoDB DEFAULT CHARSET=latin1;

A機器的my.cnf(或my.ini)中應該配置:

  1. server-id=1
  2. log-bin=c:\mysqlback #同步事件的日誌記錄檔案
  3. binlog-do-db=backup_db #提供資料同步服務的資料庫

(2)在B機器中有資料庫如下:

//資料庫B

  1. CREATE DATABASE backup_db;
  2. USE backup_db;
  3. CREATE TABLE `backup_table`(
  4. `id`int(11) NOT NULL auto_increment,
  5. `name` varchar(20) character
    set utf8 NOT NULL,
  6. `sex` varchar(2) character set utf8 NOT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

注:資料庫A和B的資料庫結構一定要相同,否則無法構成同步。

B機器的my.cnf(或my.ini)中應該配置:

  1. server-id=2
  2. master-host=192.168.1.101#主機A的地址
  3. master-user=ym #主機A提供給B的使用者,該使用者中需要包括資料庫backup_db的許可權
  4. master-password=ym #訪問密碼
  5. master-port=3306#埠,主機的MYSQL埠
  6. master-connect-retry=60#重試間隔60秒
  7. replicate-do-db=backup_db #同步的資料庫

(3)完成了以上配置之後,將A的mysql資料的許可權給B。

A機器:

  1. mysql>GRANT FILE ON *.* TO [email protected]192.168.1.102 IDENTIFIEDBY ym’;

(4)重啟AB資料庫,後:

B機器:

  1. mysql>slave start;

檢視同步配置情況

A機器:

  1. mysql>show master status;

B機器:

  1. mysql>show slave status;

(5)在A中的backup_db.backup_table表中插入一些資料,檢視B中的backup_db.backup_table表是否同步了資料改動。如果沒有看到同步資料結果,即同步不成功,請檢視錯誤(如下)。

當有錯誤產生時*.err日誌檔案(可到mysql安裝目錄下找),同步的執行緒退出。當糾正錯誤後重復步驟(4)。

3、實現雙向熱備(A<=>B):

將以上的(1)-(5)步驟按A-B雙向配置即可。

總結一下:

主要是兩邊建立同樣的資料庫,然後在資料庫配置檔案里加入更新的語句即可。


相互開通互有許可權的使用者,然後這條命令就是同步頻率和同步資料庫:

  1. master-connect-retry=60#重試間隔60秒
  2. replicate-do-db=backup_db #同步的資料庫
auto_increment_increment=
auto_increment_offset=

配置雙機互備是需要注意以上二個數值,防止同時向二臺MASTER寫數的時候主鍵衝突

相關推薦

Mysql 如何負載均衡

先簡要介紹一下mysql雙向熱備:mysql從3.23.15版本以後提供資料庫複製功能。利用該功能可以實現兩個資料庫同步,主從模式(A->B),互相備份模式(A<=>B)的功能。 mysql資料庫雙向熱備的操作實際說明: 1、mysql資料庫同步複製功能的設定都在mysql的配置檔案

Keepalived + Nginx 實現高可用() Web 負載均衡 安裝測試筆記

system ati 根據 properly 節點配置 sys .gz ive error: keepalived是什麽 keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似於heartbeat,用來防止單點故障。 keepalived工作原理 k

Nginx+keepalived,實現負載均衡(主主模式)

nginx keepalive Keepalived: 簡介:Keepalived的作用是檢測服務器的狀態,如果有一臺web服務器宕機,或工作出現故障,Keepalived將檢測到,並將有故障的服務器從系統中剔除,同時使用其他服務器代替該服務器的工作,當服務器工作正常後Keepali

MySQL-Jira

ref 安裝 times ant all del lock 參數 time 主服務器:192.168.1.23 從服務器:192.168.1.243 一、主服務器Master配置 1. 創建同步賬號、賦權 在主服務器上為從服務器建立一個連接帳戶,此處用root,該帳戶必

mysql

數據庫主從mysql的雙機熱備 雙機熱備,就是要保持兩個數據庫的狀態自動同步。對任何一個數據庫的操作都自動應用到另外一個數據庫,始終保持兩個數據庫數據一致。 這樣的做法好處在於:1、可以做災備,其中一個壞了可以切換到另一個;2、可以做負載均衡,可以請求分攤到其中任何一臺上,提高網站吞吐

什麼? 為什麼要備有哪幾種?

雙機熱備知識簡介 1、 雙機熱備名詞解釋   從廣義上講,就是對於重要的服務,使用兩臺伺服器,互相備份,共同執行同一服務。當一臺伺服器出現故障時,可以由另一臺伺服器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。 雙機熱備由備用的伺服器解決了在主伺服器故障時服務不中斷的問題。

mysql,keepalived

環境 Centos  7.4 172.16.91.215  主 172.16.91.216  從   安裝包 版本 mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz    

高階篇(6.0) 01. 不同型號的防火牆

  【簡介】我們已經知道做HA主備,必須是要兩臺防火牆型號相同,並且韌體版本也相同,但很多企業會存在這種情況,就是早期有一臺型號較早的防火牆,然後又只採購了一臺型號比較新的防火牆,有沒有辦法讓老防火牆也發揮餘熱呢?  網路拓樸    我們可以利用VRRP技術,使得新防火牆

Apache + Tomcat基於mod_jk模組實現反代、動靜分離、負載均衡

1、簡單說明: mod_jk是ASF的一個專案,是一個工作於Apache端基於AJP協議與Tomcat通訊的聯結器,是Apache的一個模組,是AJP協議的客戶端,服務端是Tomcat的AJP聯結器。 Web客戶訪問Tomcat JSP元件的兩種方式: 2、演示環境:

keepalived+nginx+負載均衡

ethernet auth 超時任務 collision boot .rpm ocl bnl host keepalived+nginx雙機熱備+負載均衡最近因業務擴展,需要將當前的apache 轉為nginx(web), 再在web前端放置nginx(負載均衡)。同時結合

Linux學習總結(五十四)keepalived+lvs 負載均衡架構

DR LVS keepalived+lvs 一 LVS IP tunnel 模式介紹 IP隧道(IP tunneling)是將一個IP報文封裝在另一個IP報文的技術,這可以使得目標為一個IP地址的數據報文能被封裝和轉發到另一個IP地址。IP隧道技術亦稱為IP封裝技術(IP encapsulatio

MySQL架構備份之

root .gz val 數據初始化 無法 ceshi 修改配置文件 rom ESS M--S架構:實現雙機熱備(AB復制) 1、可以降低master讀壓力 2、可以對數據庫做“熱備”,熱備只能解決硬件master硬件故障,軟件故障等重大故障問題

解決Nginx + Keepalived主從+自動切換,實現負載均衡及高可用

解決Nginx + Keepalived主從雙機熱備+自動切換,實現負載均衡及高可用 IP 伺服器 服務 192.168.1.10 lb-node1 Nginx、kee

windows下使用mysql功能

sql skip host 狀態 set 指定同步 天數 沒有 我們 一. 準備工作   1. 準備兩臺服務器(電腦),接入局域網中,使互相ping得通對方   2. 兩臺服務器都安裝mysql-server-5.1,必須保證mysql的版本一致   3. 假設,服務器A:

mysql以及使用keepalived實現mysql主高可用

根據蒐集的資料安裝測試並在安裝測試過程中整理的文件,部分參考文件在相應位置有標記。如有不足希望不吝賜教。 mysql雙機熱備的方式有兩種: 主-從伺服器雙機熱備 主-主伺服器雙機熱備 下文以主-主伺服器雙機熱備為例,主-從配置類似。 兩臺centos7,ip分別為:

負載均衡

負載均衡原理與技術實現 負載均衡(Load Balance,簡稱LB)是一種伺服器或網路裝置的叢集技術。負載均衡將特定的業務(網路服務、網路流量等)分擔給多個伺服器或網路裝置,從而提高了業務處理能力,保證了業務的高可用性。 (一)HTTP重定向實現負載均衡 當用戶向伺服

什麼是冷,異地容災備份,雲備份,NAS,負載均衡

假設你是一位女性,你有一位男朋友,於此同時你和另外一位男生曖昧不清,比朋友 好,又不是戀人。你隨時可以甩了現任男友,另外一位馬上就能補上。這是冷備份。 假設你是一位女性,同時和兩位男性在交往,兩位都是你男朋友。並且他們還互不干涉,獨立執行。這就是雙機熱備份。 假設你是一位女

oracle ,oracle dataguard oracle rac的區別聯絡

Data Guard 是Oracle的遠端複製技術,它有物理和邏輯之分,但是總的來說,它需要在異地有一套獨立的系統,這是兩套硬體配置可以不同的系統,但是這兩套系統的軟體結構保持一致,包括軟體的版本,目錄儲存結構,以及資料的同步(其實也不是實時同步的),這兩套系統之間只要網路是通的就可以了,是一種異地容災的解

華為防火牆 負載均衡實驗

雙機熱備 FW1的配置 FW2的配置 interface GigabitEthernet 1/0/1  ip address 10.1.1.2 255.255.255.0  vrrp vrid 1 v

nginx+tomcat實現負載均衡以及(tomcat宕導致客戶端無法訪問)

首先,在這裡分享一個java技術交流群,純粹技術交流,拒絕廣告,歡迎各位進群交流。QQ群:817997079 大家都知道nginx可以代理多臺伺服器(以tomcat為例),那麼當被nginx代理的tomcat伺服器宕機時,我們怎麼保證客戶端能繼續訪問系統?接下來就說一下ng