对$AMOEBA_HOME/conf/rule.xml进行配置时,会用到一些我们自己定义的函数,比如我们需要对用户ID求HASH值来切分数据,这些函数在$AMOEBA_HOME/conf/ruleFunctionMap.xml中定义。
Amoeba可以制定一些可访问以及拒绝访问的主机IP地址,这部分配置在$AMOEBA_HOME/conf/access_list.conf中
Amoeba允许用户配置输出日志级别以及方式,配置方法使用log4j的文件格式,文件是$AMOEBA_HOME/conf/log4j.xml。
在开始配置amoeba配置文件之前我们需要先了解为什么要做这些配置工作。
第一,如上第一条所述,Amoeba是通过代理MySQL服务来实现数据库的读写分离的,它必须要知道如何连接到需要被代理的数据库,因此需要被代理的数据库需要创建一个访问用户给amoeba,这样amoeba才能连接到数据库上。
第二,amobea把对客户端也就是应用层是透明的,不管amoeba如何实现的读写分离,它既然把数据库全都给代理了,那它就要为客户端提供一个类似原来mysql那样的连接,客户端就把当它是mysql,它其实是一个虚拟的mysql,对外提供mysql协议,客户端连接amoeba就象连接mysql一样,因此amoeba要为客户端提供一个可供连接的用户账号。
第三,amoeba内部是实现了多数据库的负载均衡、读写分离、可切片的,所以这部分的配置是它功能上的核心配置。
下面就正式开始配置amoeba
所有数据库创建amoeba访问的用户:
mysql>grant all on *.* to \'amoeba\'@\'182.92.172.80\' identified by \'123456\' #创建用户并授权 mysql>flush privileges; #刷新权限