amoeba实现mysql读写分离
2017-06-06 20:36
267 查看
实施环境:
master(amoeba):192.168.122.201
安装:java-1.7.0-openjdk.x86_64,mysql-server,amoeba-mysql-3.0.5-RC-distribution.zip
slave:192.168.122.202
安装:mysql-server
配置主从master与slave的主从环境(略过)
master与slave上创建用于amoeba连接数据库的授权用户:
grant all privileges on *.* to amoeba@'%' identified by 'amoeba';
amoeba的dbServer.xml配置文件修改:
<dbServer name="abstractServer" abstractive="true">
<factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
<property name="connectionManager">${defaultManager}</property>
<property name="sendBufferSize">64</property>
<property name="receiveBufferSize">128</property>
<!-- mysql port -->
<property name="port">3306</property>
<!-- mysql schema -->
<property name="schema">test</property>
<!-- mysql user -->
<property name="user">amoeba</property>
<property name="password">amoeba</property>
</factoryConfig>
#红色部分表示amoeba连接主从mysql的端口,操作的库(这个地方好像只要grant授权足够,可以忽略这块),用户名及密码(即步骤3创建的用户名和密码)
<dbServer name="master" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<property name="ipAddress">192.168.122.201</property>
</factoryConfig>
</dbServer>
<dbServer name="slave" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<property name="ipAddress">192.168.122.202</property>
</factoryConfig>
</dbServer>
#定义mysql主机
<dbServer name="slavePool" virtual="true">
<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
<!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
<property name="loadbalance">1</property>
<!-- Separated by commas,such as: server1,server2,server1 -->
<property name="poolNames">slave</property>
</poolConfig>
</dbServer>
#定义负载均衡策略及主机组
amoeba的amoeba.xml配置文件修改:
<property name="port">8066</property>
<property name="ipAddress">0.0.0.0</property>
#定义amoeba代理服务器端口及绑定ip地址
<property name="user">amoeba</property>
<property name="password">amoeba</property>
#定义amoeba代理服务器的用户名和密码
<property name="defaultPool">slavePool</property>
<property name="writePool">master</property>
<property name="readPool">slave</property>
#定义读写服务器
创建amoeba日志存放目录,并修改权限
mkdir -m a=rwx /usr/local/amoeba/logs
启动amoeba服务
/usr/local/amoeba/bin/launcher &
测试
master(amoeba):192.168.122.201
安装:java-1.7.0-openjdk.x86_64,mysql-server,amoeba-mysql-3.0.5-RC-distribution.zip
slave:192.168.122.202
安装:mysql-server
配置主从master与slave的主从环境(略过)
master与slave上创建用于amoeba连接数据库的授权用户:
grant all privileges on *.* to amoeba@'%' identified by 'amoeba';
amoeba的dbServer.xml配置文件修改:
<dbServer name="abstractServer" abstractive="true">
<factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
<property name="connectionManager">${defaultManager}</property>
<property name="sendBufferSize">64</property>
<property name="receiveBufferSize">128</property>
<!-- mysql port -->
<property name="port">3306</property>
<!-- mysql schema -->
<property name="schema">test</property>
<!-- mysql user -->
<property name="user">amoeba</property>
<property name="password">amoeba</property>
</factoryConfig>
#红色部分表示amoeba连接主从mysql的端口,操作的库(这个地方好像只要grant授权足够,可以忽略这块),用户名及密码(即步骤3创建的用户名和密码)
<dbServer name="master" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<property name="ipAddress">192.168.122.201</property>
</factoryConfig>
</dbServer>
<dbServer name="slave" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<property name="ipAddress">192.168.122.202</property>
</factoryConfig>
</dbServer>
#定义mysql主机
<dbServer name="slavePool" virtual="true">
<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
<!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
<property name="loadbalance">1</property>
<!-- Separated by commas,such as: server1,server2,server1 -->
<property name="poolNames">slave</property>
</poolConfig>
</dbServer>
#定义负载均衡策略及主机组
amoeba的amoeba.xml配置文件修改:
<property name="port">8066</property>
<property name="ipAddress">0.0.0.0</property>
#定义amoeba代理服务器端口及绑定ip地址
<property name="user">amoeba</property>
<property name="password">amoeba</property>
#定义amoeba代理服务器的用户名和密码
<property name="defaultPool">slavePool</property>
<property name="writePool">master</property>
<property name="readPool">slave</property>
#定义读写服务器
创建amoeba日志存放目录,并修改权限
mkdir -m a=rwx /usr/local/amoeba/logs
启动amoeba服务
/usr/local/amoeba/bin/launcher &
测试
相关文章推荐
- mysql-mmm+amoeba+keepalived实现mysql高可用和读写分离(二)
- Mysql的主从复制的读写分离之Amoeba实现 推荐
- Amoeba实现mysql主从读写分离2
- Amoeba实现Mysql读写分离
- 用amoeba实现mysql的读写分离
- Amoeba+mysql实现读写分离
- ↑使用amoeba调度后端mysql服务器实现读写分离和负载均衡↑
- mysql5.6主从复制与基于amoeba实现读写分离
- mysql-mmm+amoeba+keepalived实现mysql高可用和读写分离(二)
- MySQL 5.6.13 GTID复制,以及基于Amoeba实现读写分离 推荐
- 使用Amoeba for mysql实现mysql读写分离
- 使用Amoeba for mysql实现mysql读写分离
- amoeba安装与实现amoeba for mysql读写分离
- Amoeba实现mysql主从读写分离1
- mysql-mmm+amoeba+keepalived实现mysql高可用和读写分离
- 使用Amoeba for mysql实现mysql读写分离
- mysql-mmm+amoeba+keepalived实现mysql高可用和读写分离
- mysql读写分离Amoeba3.x的实现
- 使用Amoeba for mysql实现mysql读写分离
- 基于amoeba+keepalived+mmm实现mysql读写分离高可用架构 推荐