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:
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM