haproxy實現mysql從庫負載均衡

本文主要講述經過haproxy實現mysql從庫間的負載均衡,至於mysql主從的搭建,本文再也不重述,能夠參考我以前寫的博客。

1.首先下載haproxy包

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.13.tar.gz

 

2.安裝

tar zxvf haproxy-1.4.13.tar.gz

cd haproxy-1.4.13/

make TARGET=linux26 PREFIX=/usr/local/haproxy  ##個人系統內核爲2.6,因此target=linux26

make install PREFIX=/usr/local/haproxy

 

3.進行配置

mkdir /etc/haproxy

touch /etc/haproxy/haproxy.cfg

vi /etc/haproxy/haproxy.cfg
 
##寫入如下內容: 
global
        daemon
        nbproc 1
        pidfile /var/run/haproxy.pid


defaults
        mode tcp               #默認的模式mode { tcp|http|health },tcp是4層,http是7層,health只會返回OK
        retries 2               #兩次鏈接失敗就認爲是服務器不可用,也能夠經過後面設置
        option redispatch       #當serverId對應的服務器掛掉後,強制定向到其餘健康的服務器
        option abortonclose     #當服務器負載很高的時候,自動結束掉當前隊列處理比較久的連接
        maxconn 4096            #默認的最大鏈接數
        timeout connect 5000ms  #鏈接超時
        timeout client 30000ms  #客戶端超時
        timeout server 30000ms  #服務器超時
        #timeout check 2000      #=心跳檢測超時
        log 127.0.0.1 local0 err #[err warning info debug]


########test1配置#################
listen test1
        bind 0.0.0.0:3306
        mode tcp
        #maxconn 4086
        #log 127.0.0.1 local0 debug
        server s1 192.168.103.59:3306
        server s2 192.168.103.52:3306
########frontend配置##############
 
在test1配置下添加server s1 192.168.103.59:3306和server s2 192.168.103.52:3306,即mysql從庫的ip和端口號,
多個從庫在下面繼續添加。
 

4.啓動haproxy

解壓目錄下執行haproxy -f /etc/haproxy/haproxy.cfg
 
先將佔用3306端口的程序停掉
haproxy -f /etc/haproxy/haproxy.cfg
( 若提示錯誤:bash: haproxy: 未找到命令
執行 1 cd /usr/local/haproxy/sbin
         2  ./haproxy -f /etc/haproxy/haproxy.cfg     
  
)
 

5.測試

使用navicat鏈接安裝haproxy的機器
第一次連的52
 
關閉鏈接,從新連103.55
 
可見實現了mysql的負載均衡。
 

6.其餘注意事項

查看haproxy的進程
ps -ef | grep haproxy
 
kill -9 28924
幹掉haproxy運行的進程
 
再連55失敗
 
查看全部進程
ps -ef
 
修改配置文件:
從新啓動haproxy:
相關文章
相關標籤/搜索