1.准备环境
电脑必须已安装并配置好jdk。目前Amoeba经验证在JavaTM SE 1.5和Java SE 1.6能正常运行,(可能包括其他未经验证的版本),本文所使用的jdk为jdk1.6,操作系统为Windows7 64位,amoeba版本为2.1.0,anoeba所在服务器ip为192.168.128.1,后端数据库为mysql-5.6.24,两台MySQL数据库所在服务器ip分别为192.168.128.30和192.168.128.40。
2.下载安装
到此网址下载amoeba:http://sourceforge.net/projects/amoeba/files/,下载后是压缩包形式,在电脑目录中创建一个文件夹命名为amoeba,将压缩包解压到此文件夹中,解压后的文件如下图所示:
3.启动amoeba
打开cmd,进入amoeba的bin目录,运行输入命令amoeba
如果看到:amoeba start|stop 就代表安装成功了
#/* Amoeba总共有7个配置文件,分别如下:
#/* Amoeba主配置文件($AMOEBA_HOME/conf/amoeba.xml),用来配置Amoeba服务的基本参数,如Amoeba主机地址、端口、认证方式、用于连接的用户名、密码、线程数、超时时间、其他配置文件的位置等。
#/* 数据库服务器配置文件($AMOEBA_HOME/conf/dbServers.xml),用来存储和配置Amoeba所代理的数据库服务器的信息,如:主机IP、端口、用户名、密码等。
#/* 切分规则配置文件($AMOEBA_HOME/conf/rule.xml),用来配置切分规则。
#/* 数据库函数配置文件($AMOEBA_HOME/conf/functionMap.xml),用来配置数据库函数的处理方法,Amoeba将使用该配置文件中的方法解析数据库函数。
#/* 切分规则函数配置文件($AMOEBA_HOME/conf/ruleFunctionMap.xml),用来配置切分规则中使用的用户自定义函数的处理方法。
#/* 访问规则配置文件($AMOEBA_HOME/conf/access_list.conf),用来授权或禁止某些服务器IP访问Amoeba。
#/* 日志规格配置文件($AMOEBA_HOME/conf/log4j.xml),用来配置Amoeba输出日志的级别和方式。
# 配置后端mysql 服务器连接[dbServer.xml]
配置amoeba中的dbServer.xml(后端mysql 服务器连接配置)
打开conf文件夹下的dbServer.xml,需要更改的有以下几个地方:
1.设置abstractserver,里面定义了要代理的mysql服务器的用户名和密码
2.添加两个dbServer,继承自abstractserver,一个代表主数据库,一个代表从数据库。
3.配置数据库池。
dbServer.xml配置完毕。
4. 配置 Amoeba 监听端口[amoeba.xml]
配置监听IP,登录账户和密码
读写分离配置:
amoeba.xml配置完毕。
三、amoeba启动与读写分离测试
1.启动amoeba:
首先,确认对被代理的Mysql数据库拥有有远程登录权限,没有的话通过以下命令赋予权限:
GRANT ALL PRIVILEGES ON *.* TO 'mysync'@'192.168.128.1' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
在命令行中进入当前目录,输入amoeba start启动amoeba。
2.新开一个命令行,输入以下命令登录>mysql -uroot -h 192.168.128.1 -P8066 -p,密码是1234,如果可以正常登录,则amoeba配置成功。
查看数据库:
3.分别在两台后端数据库服务器的xd数据库中新建一个student表,插入不同数据,这里分别插入的是serv30和serv40,在登录amoeba的命令提示符中输入select * from student;查询两次,发现第一次返回的是192.168.128.30数据库中的数据,第二次返回的是192.168.128.40中的数据,表明读写分离配置成功。