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
进入解压后的conf目录中修改配置文件
修改dbServer.xml
其中提供的主从两个或者多个数据库的端口必须一致,至于是不是3306就无所谓了,只要保持一致
数据库的连接的用户名和密码也要一致。
修改后的
习惯上这里的server1和server2修改名字,主数据库就写master,从数据库写slave,或者slave01,slave02...等
添加对应的ip,在修改主从的策略,1轮询,2权重,3ha
一般来说,主数据负责写操作,从数据库负责读操作,在实际应用在查询的往往多于写入的操作,所以为了合理利用这资源,这里采用轮询机制。即从主从,或者从主从从,等这个看实际情况,我这里采用从主从的策略
退出保存。然后修改amoeba.xml
vim amoeba.xml
用户连接的用户名和密码
然后找到最后,
修改后
默认连接池连接主数据库,读写分离,写入主数据,读取的时候读取咱们刚刚自定义的连接池,然后退出保存
最后修改jdk内存,cd ../
找到32行将196改为512就行 了,具体原因是由于jdk内存不足,这里多分配点
进入bin目录下执行启动语句
然后用mysql连接工具连接amoeba就行了