1. 程式人生 > 實用技巧 >HAproxy負載均衡MYSQL雙主

HAproxy負載均衡MYSQL雙主

HAproxy負載均衡MYSQL雙主

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgJlAQAAA

OS

IP

子網掩碼

路由閘道器

Centos6.6

(DB:MYSQL)

Eth0:192.168.26.211

255.255.252.0

192.168.25.3

Centos6.6

(DB:MYSQL)

Eth0:192.168.26.212

255.255.252.0

192.168.25.3

Centos6.6

(HAproxy)

Eth0:192.168.26.210

255.255.252.0

192.168.25.3

安裝mysql:192.168.26.211

Yum install–y mysql-server

dAYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgIYAQAAA

Service mysqld start

dGcBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgJzAQAAA

安裝mysql:192.168.26.212

Yum install–y mysql-server

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgI7AQAAA

Service mysqld start

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KQJMAQAAA

配置MYSQL雙主:192.168.26.211

Vim /etc/my.cnf

配置檔案如下:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

server-id=211

log-bin=mysq-bin

relay-log=relay-bin

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld

dGcBAAAAAAAA&ek=1&kp=1&pt=0&bo=aAHgAAAAA

建立遠端所有權賬號:

grant replication slave,replication client on *.* to 'jerry'@'192.168.%.%' identified by 'jerrypass';

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgIZAQAAA

change master to master_host='192.168.26.212',master_user='jerrys',master_password='jerrypass',master_log_file='mysql-bin.000001',master_log_pos=282;

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgIaAQAAA

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgIeAQAAA

Start slave;

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgIcAQAAA

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgL5AAAAA

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=GQKtAQAAA

雙主配置:192.168.26.212

Vim /etc/my.cnf

配置檔案如下:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

server-id=212

log-bin=mysql-bin

relay-log=relay-bin

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgLsAAAAA

授權遠端訪問賬號:

grant replication slave,replication client on *.* to 'jerry'@'192.168.%.%' identified by 'jerrypass';

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgLkAAAAA

change master to master_host='192.168.26.211',master_user='jerry',master_password='jerrypass',master_log_file='mysql-bin.000001',master_log_pos=281;

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgIVAQAAA

Start slave;

dGcBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgIiAQAAA

dGcBAAAAAAAA&ek=1&kp=1&pt=0&bo=KAKkAQAAA

配置HAproxy:192.168.26.210

安裝:yum install–y haproxy

編輯配置檔案:vim /etc/haproxy/haproxy.cfg

配置檔案如下:

#---------------------------------------------------------------------

# Example configuration for a possible web application.See the

# full configuration options online.

#

#http://haproxy.1wt.eu/download/1.4/doc/configuration.txt

#

#---------------------------------------------------------------------

#---------------------------------------------------------------------

# Global settings

#---------------------------------------------------------------------

global

#to have these messages end up in /var/log/haproxy.log you will

#need to:

#

#1) configure syslog to accept network log events.This is done

#byadding the '-r' option to the SYSLOGD_OPTIONS in

#/etc/sysconfig/syslog

#

#2) configure local2 events to go to the /var/log/haproxy.log

#file.A line like the following can be added to

#/etc/sysconfig/syslog

#

#local2.*/var/log/haproxy.log

#

log127.0.0.1local2

chroot/var/lib/haproxy

pidfile/var/run/haproxy.pid

maxconn4000

userhaproxy

grouphaproxy

daemon

#turn on stats unix socket

statssocket /var/lib/haproxy/stats

#---------------------------------------------------------------------

# common defaults that all the 'listen' and 'backend' sections will

# use if not designated in their block

#---------------------------------------------------------------------

defaults

modetcp

logglobal

optionhttplog

optiondontlognull

optionhttp-server-close

optionforwardforexcept 127.0.0.0/8

optionredispatch

retries3

timeouthttp-request10s

timeoutqueue1m

timeoutconnect10s

timeoutclient1m

timeoutserver1m

timeouthttp-keep-alive 10s

timeoutcheck10s

maxconn3000

#---------------------------------------------------------------------

# main frontend which proxys to the backends

#---------------------------------------------------------------------

#frontendmain *:5000

#acl url_staticpath_beg-i /static /p_w_picpaths /javascript /stylesheets

#acl url_staticpath_end-i .jpg .gif .png .css .js

#

#use_backend staticif url_static

#default_backendapp

#

##---------------------------------------------------------------------

## static backend for serving up p_w_picpaths, stylesheets and such

##---------------------------------------------------------------------

#backend static

#balanceroundrobin

#serverstatic 127.0.0.1:4331 check

frontend websrv *:3306

default_backendmysqlservers

backend mysqlservers

balanceleastconn

serverm1 192.168.26.211:3306check port 3306 maxconn 300

serverm2 192.168.26.212:3306check port 3306 maxconn 300

listen static

modehttp

bind*:8008

statsenable

statsuri /haadmin?stats

statsauth admin:admin

statshide-version

statsadmin if TRUE

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=9AE0AQAAA

dGcBAAAAAAAA&ek=1&kp=1&pt=0&bo=hAEbAQAAA

dGYBAAAAAAAA&ek=1&kp=1&pt=0&bo=KgInAQAAA


轉載於:https://blog.51cto.com/jdonghong/1883376