Amoeba(变形虫) 项目,该开源框架于2008年开始发布一款 Amoeba for Mysql软件。 这个软件基于Java致力于MySQL的分布式数据库前端代理层,处于在应用和数据库之间,对客户端透明,它主要在应用层访问MySQL的时候充当SQL路由功能,解析应用传递过来的SQL语句,专注于分布式数据库代理层(Database Proxy)开发。
Amoeba 主要解决的以下几个问题:
数据切分后复杂数据源整合
提供数据切分规则并降低数据切分规则给数据库带来的影响
降低数据库与客户端的连接数
读写分离路由
Amoeba读写分离的配置如图拓扑,客户端要求也安装有mysql数据库,而装有Amoeba的服务器则只需安装Amoeba即可。本文主要是配置Amoeba读写分离的,所以两个数据库之间主从配置不讲。
中间服务器的配置
1、因为Amoeba的运行需要java环境,所以先安装Java环境。详情---> Linux中配置java环境
2、将 Amoeba压缩包解压到 /usr/loca/amoeba/ 下, 压缩包地址---> 链接: Amoeba压缩包 提取码: 5ppq
3、配置Amoeba环境变量,在 /etc/profile 结尾加入以下的内容
# # #### for amoeba AMOEBA_HOME=http://www.likecs.com/usr/local/amoeba/ export PATH=$PATH:$AMOEBA_HOME/bin4、进入 /usr/local/amoeba/bin/ 底下,给所有文件755权限: chmod 755 *
5、打开bin底下的amoeba文件,将这行的最后的128改成256。
6、测试: amoeba 如果显示 amoeba start | stop 的话,证明依赖关系安装完成
7、修改 /usr/local/amoeba/conf/dbServer.xml 配置文件
8、修改 /usr/local/amoeba/conf/amoeba.xml 配置文件
数据库服务器的配置
1、分别在两台数据库服务器上配置:
grant all on *.* to amoeba @\'192.168.10.30\' identified by \'amoeba\';
grant all on *.* to test@\'192.168.10.30\' identified by \'123\';
注:这两个用户,amoeba用户是amoeba服务连接mysql数据库专用的用户,而test用户则是用户访问后写入或读取数据库的登陆用户,两个要区别开来
2、在两台数据库服务器上分别建 stu 的数据库,然后建立不同的表,测试。
3、数据库服务器关闭防火墙和Selinux
客户端的配置
验证:在客户端连接amoeba服务器: mysql -uamoeba -pamoeba -h192.168.10.30 -P8066