使用Amoeba实现MySQL的主从读写分离(2)

vim /usr/local/amoeba-2.2.0/conf/dbServers.xml

这里写图片描述

port = 3306指的是主从数据库的端口号

schema = test指的是amoeba代理数据库的名称

user = root 以及 password 是amoeba登录主从服务器的账号密码,因此要注意这里的账户必须有访问两个数据库的权限才行

这里写图片描述

这里的localhost指的是主库的代号,底下的ipAddress为主库地址

slave指的是从库的代号,底下的ipAddress为从库地址

轮询的主和从的读设置权重设置成1:3,这样就可以很好的解决主从不压力均衡的问题

vim /usr/local/amoeba-2.2.0/conf/amoeba.xml

这里写图片描述

这里的8066端口为amoeba代理所监听的端口

user 和 password 是用来登录amoeba代理所使用的账号信息

这里写图片描述

LRUMapSize定义了Amoeba缓存的SQL语句解析条数

defaultPool配置了默认的节点,一些除了SELELCT/UPDATE/INSERT/DELETEDE的语句都会在上面执行

writePool配置了写库,通常就是主库

readPool配置了读库,可以为一个也可以是数据库池

这样Amoeba的配置就完成了(注:关于配置文件的参数意义在amoeba文档中有完整的解释)

接下来进行环境变量的配置,vim /etc/profile.d/amoeba.sh

export AMOEBA_HOME=/usr/local/amoeba-2.2.0/ export PATH=$AMOEBA_HOME/bin/:$PATH

4.启动Amoeba

执行amoeba start
The stack size specified is too small, Specify at least 160k
Could not create the Java virtual machine.
如果报以上错误,需编辑二进制脚本,因为JAVA启动对xss参数最小值有限制
vim /usr/local/amoeba-2.2.0/bin/amoeba
DEFAULT_OPTS=”-server -Xms256m -Xmx256m -Xss128k”
修改为如下
DEFAULT_OPTS=”-server -Xms256m -Xmx256m -Xss256k”
(注:如果启动失败要主要看有无 Amoeba Monitor Server shutdown completed!,如果没有请执行一遍amoeba stop)

5.连接amoeba

正常启动后连接amoeba数据库,mysql -u root -p -h 172.16.2.231 -P8066

这里写图片描述

这就是正常启动后的提示信息,如果提示错误的话可能性很多,但大多数是网络(防火墙没关,主从数据库未启动等)、权限(主从数据库未提供amoeba账号权限等)以及配置的问题,多多阅读错误提示和日志能让你更快的定位到错误

这里写图片描述

6.测试

测试的方法有很多种这里就不举例了,主要的思想是:
- 在amoeba上创建表,测试操作是否同步主从;
- 将从库的同步关闭slave stop,在amoeba上进行写操作看是否只有主库写入;在主从上分别插入一条数据,并在amoba上执行读操作看显示的数据等。

Linux下MySQL主从复制(Master-Slave)与读写分离(Amoeba)实践

使用Amoeba 实现MySQL DB 读写分离 

用Amoeba实现MySQL的读写分离 

CentOS系统 Amoeba+MySL主从读写分离配置教程 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b3fa17b0e2f3b3accc14f8e27d7ae8cc.html