一、读写分离的作用和实现的方式
1)读写分离的作用
增加用户访问并大量
加快处理速度
2)读写分离实现的方式
amoeba:java语言开发的读写分离工具
mysql_proxy:Mysql官网提供需要二次开发
二、安装jdk
1、解压jdk
2、移动jdk安装位置
3、修改环境变量
4、更新环境变量
三、安装amobe
1、创建amobe目录
2、解压amobe
四、配置读写分离
1、在主Mysql创建读写分离账户
2、修改amoeba配置文件
<property name="port">8066</property> //amoeba监听端口
<property name="ipAddress">192.168.100.40</property> //amoeba监听IP地址
<property name="user">amoeba</property> //访问amoeba账户
<property name="password">pwd@123</property> //访问amoeba输入密码
<property name="defaultPool">master</property> //默认访问主
<property name="writePool">master</property> //写入访问master主库
<property name="readPool">slaves</property> //读取访问从库
3、修改amoeba支持读写分离
<property name="user">amobe</property> //指定访问数据库读写用户amobe
<property name="password">pwd@123</property> //指定访问数据库读写分离密码
<dbServer name="master" parent="abstractServer">
<factoryConfig>
<property name="ipAddress">192.168.100.10</property> //指定主Mysql
</factoryConfig>
</dbServer>
<dbServer name="slave01" parent="abstractServer">
<factoryConfig>
<property name="ipAddress">192.168.100.20</property> //指定第一台从Mysql
</factoryConfig>
</dbServer>
<dbServer name="slave02" parent="abstractServer">
<factoryConfig>
<property name="ipAddress">192.168.100.30</property> //指定第二台从Mysql
</factoryConfig>
</dbServer>
<dbServer name="slaves" virtual="true">
<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
<property name="loadbalance">1</property>
<property name="poolNames">slave01,slave02</property> //将两台从数据库加入slaves组
</poolConfig>
</dbServer>
4、启动amoeba服务
5、安装客户端通过客户端登录amobe访问Mysql数据库
6、创建数据库
7、从服务器停止复制
8、插入表内容发现是访问的从服务器而写入是在主服务器上