动机:proxy实现读写分离
主机名
|
IP
|
Port
|
App
|
目录
|
备注
|
Node1
|
192.168.1.2
|
3306
|
mysql
|
/var/lib/mysql
|
数据库服务器
1
|
Node2
|
192.168.1.3
|
3306
|
mysql
|
/var/lib/mysql
|
数据库服务器
2
|
Mon
|
192.168.1.4
|
3306
|
Mysql
|
/var/lib/mysql
|
数据库管理服务器
|
Proxy
|
192.168.1.5
|
4040
|
Proxy
|
|
数据库代理
(NLB)
|
server-id =
|
1
|
log_bin =
|
mysql-bin
|
master_host
|
192.168.1.2
|
master_port
|
3306
|
master_user
|
replication
|
master_password
|
slave
|
server-id =
|
2
|
log_bin =
|
mysql-bin
|
master_host
|
192.168.1.3
|
master_port
|
3306
|
master_user
|
replication
|
master_password
|
slave
|
Node1
|
192.168.1.2
|
Node2
|
192.168.1.3
|
Mon
|
192.168.1.4
|
--
|
Algorithm-Diff-1.1902.tar.gz
|
--
|
Proc-Daemon-0.03.tar.gz
|
RPM
|
mysql-server-5.0.22-2.1
|
RPM
|
mysql-5.0.22-2.1
|
RPM
|
perl-DBD-MySQL-3.0007-1.fc6
|
--
|
mmm-1.0.tar.bz2
|
--
|
Algorithm-Diff-1.1902.tar.gz
|
--
|
Proc-Daemon-0.03.tar.gz
|
host db1
|
数据库名
|
ip 192.168.1.2
|
node1 ip
|
port 3306
|
node1 port
|
user rep_monitor
|
node1 用户(供
mon监控使用,该用户需要在db上添加)
|
password RepMonitor
|
对应密码
|
mode master
|
模式
|
peer db2
|
slave指定
|
host db2
|
意义同上
|
ip 192.168.1.3
|
|
port 3306
|
|
user rep_monitor
|
|
password RepMonitor
|
|
mode master
|
|
peer db1
|
|
# Mysql Reader role
|
读规则
|
mode balanced
|
模式为均摊
|
servers db1,db2
|
规则覆盖
db1 db2(如有更多slave 继续填写,别忘了ip )
|
ip 192.168.1.7,
192.168.1.8
|
对应
ip 虚拟的IP
|
role writer
|
写规则
|
mode exclusive
|
模式为独占
|
servers db1,db2
|
规则负载
db1 db2
|
ip 192.168.1.9
|
两台数据库公用一个
ip为写,采用HA模式,默认db1使用,db1下线db2接管此ip
|
连接接管
|
Proxy 192.168.1.5
|
4040
|
读操作
|
Db1 192.168.1.7:3306
Db2 192.168.1.8:3306
|
|
写操作
|
Db1/db2 192.168.1.9
默认
db1先用,db1当机,db2接管
|
|
本文出自 “老宝-开源之路” 博客,转载请与作者联系!