amoeba实现读写分离步骤,在讲解之前需要提供两个数据库,即一主一从,且需要实现主从复制操作,这里不在讲解,不会的同学请参考https://blog.csdn.net/zhaogangyyxf/article/details/79826550,

由于amoeba服务器需要依赖jdk所以首先安装jdk并配置环境变量

首先准备一台服务器,安装amoeba服务;

我这安装的是amoeba-mysql-3.0.4-BETA.tar.gz

解压文件:tar -zxvf amoeba-mysql-3.0.4-BETA.tar

centos7环境下amoeba实现读写分离的实现

进入解压后的conf目录中修改配置文件

centos7环境下amoeba实现读写分离的实现

修改dbServer.xml

centos7环境下amoeba实现读写分离的实现

其中提供的主从两个或者多个数据库的端口必须一致,至于是不是3306就无所谓了,只要保持一致

数据库的连接的用户名和密码也要一致。

centos7环境下amoeba实现读写分离的实现

修改后的

centos7环境下amoeba实现读写分离的实现

习惯上这里的server1和server2修改名字,主数据库就写master,从数据库写slave,或者slave01,slave02...等

添加对应的ip,在修改主从的策略,1轮询,2权重,3ha

centos7环境下amoeba实现读写分离的实现

一般来说,主数据负责写操作,从数据库负责读操作,在实际应用在查询的往往多于写入的操作,所以为了合理利用这资源,这里采用轮询机制。即从主从,或者从主从从,等这个看实际情况,我这里采用从主从的策略

centos7环境下amoeba实现读写分离的实现

退出保存。然后修改amoeba.xml

vim amoeba.xml

centos7环境下amoeba实现读写分离的实现

用户连接的用户名和密码

centos7环境下amoeba实现读写分离的实现

然后找到最后,

centos7环境下amoeba实现读写分离的实现

修改后

centos7环境下amoeba实现读写分离的实现

默认连接池连接主数据库,读写分离,写入主数据,读取的时候读取咱们刚刚自定义的连接池,然后退出保存

最后修改jdk内存,cd ../

centos7环境下amoeba实现读写分离的实现

找到32行将196改为512就行 了,具体原因是由于jdk内存不足,这里多分配点

centos7环境下amoeba实现读写分离的实现

进入bin目录下执行启动语句

centos7环境下amoeba实现读写分离的实现

然后用mysql连接工具连接amoeba就行了

centos7环境下amoeba实现读写分离的实现








相关文章: