mysql高可用Amoeba读写分离
文章目录
Mysql Amoeba读写分离
环境:192.168.160.133 hjj2017110109
192.168.160.134 slave-node
192.168.160.135 amoeba-node
首先hjj2017110109与slave节点做成主从复制
amoeba安装
Amoeba是用java开发的,所以需要java环境,这里已经安装好java了
我们在amoeba节点安装amoeba,先将amoeba安装包上传到服务器,然后解压
然后进入amoeba文件夹里
配置amoeba
配置文件位于amoeba/conf目录下,但是我们主要实现读写分离功能,只需要配置两个文件dbServers.xml和amoeba.xml
首先是dbServer.xml
然后配置amoeba.xml
授权amoeba
先在hjj2017110109节点上创建数据库hjjtest
然后在slave-node上查看是否复制成功
接着在hjj2017110109和slave-node上给amoeba授权
启动amoeba
这里报个错,看意思应该是stack size太小,所以我们修改jvm.properties文件种的JVM_OPTIONS参数
修改如上图,再次启动,成功
amoeba读写分离测试
先登录amoeba数据库
登录hjj2017110109和slave数据库查看数据,发现现在都是可查的。
然后我们关掉hjj2017110109数据库,登录amoeba插入数据
发现插入报错,但是查询正常
接着我们开启hjj2017110109,关闭slave-node
再次尝试插入数据
发现,这次读取报错,插入成功
这说明,hjj22017110109负责写,而slave-node负责读,实现读写分离
文章作者 halface
上次更新 2020-03-09