1.准备三台服务器 我的是centos7版本的
做MySQL的主从状态 可以参考
在MySQL的主从的服务器上给amoeba服务器授权一个可以操作读写的用户
grant all on *.* to 'amoeba'@'192.168.18.%' identified by '123';
flush privileges;
在Amoeba的服务器上安装Amoeba
1.安装jdk版本 要安装1.6的版本
将JDK的二进制包安装在此路径下cd /usr/local
给予权限
chmod +x jdk-6u14-linux-x64.bin
在当前路径下开始执行
./ jdk-6u14-linux-x64.bin
一直按回车 直到遇见让你输入yes or no 输入yes即可回车
更改jdk安装目录的名字
mv jdk1.6.0_14 jdk1.6
修改环境变量 在末尾加入以下内容
vim /etc/profile
------------------------------------------------------------
export AMOEBA=/usr/local/amoeba
export JAVA_HOME=/usr/local/jdk1.6
export PATH=$PATH:$JAVA_HOME/bin:$AMOEBA/bin
------------------------------------------------------------
使增加的变量生效
source /etc/profile
下载Ameoba的安装包
cd /usr/local
wget http://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz
为Amoeba创建安装目录
mkdir /usr/local/amoeba
cd /usr/local/amoeba
在当前路径下下载amoeba
wget http://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz
解压Ameoba的安装包
tar -zxf amoeba-mysql-binary-2.1.0-RC5.tar.gz
配置文件dbServers.xml
cd /usr/local/ameoba/conf
vim dbServers.xml
-----------------------------------------------------------------------------------------
……
3306
test
amoeba //MySQL主从中给予权限的用户
123 //MySQL主从中给予权限的用户的密码
……
192.168.18.141 //MySQL主的IP地址
192.168.18.142 //MySQL从的IP地址
1
server2
编辑ameoba,.xml文件
cd /usr/local/ameoba/conf
vim ameoba.xml
----------------------------------------------------------------------------------
……
jave
123
${amoeba.home}/conf/access_list.conf
……
${amoeba.home}/conf/rule.xml
${amoeba.home}/conf/ruleFunctionMap.xml
${amoeba.home}/conf/functionMap.xml
1500
server1
server1
slave
true
--------------------------------------------------------------------------------
启动amoeba
cd /usr/local/amoeba/bin
./amoeba start 出现以下字样
表示启动成功
把Amoeba的终端再开启一台
关闭防火墙 SELinux 安装数据库
systemctl stop firewalld
setenforce 0
yum -y install mariadb mariadb-server
登录amoeba测试读写分离效果
mysql -ujave -p123 -h192.168.189.167 -P8066
create database ceshi charset utf8;
可以在MySQL主从数据库中查看是否存在这个数据库
在从的MySQL数据库中停掉从的同步
stop slave;
在amoeba的服务器上再创建一个数据库
这时再分别去主从数据库上查看 只有主的可以看到刚刚创建的数据库 而从上看不到 这样就实现了读写分离