Amoeba读写分离(MySQL)
实验操作环境: centos服务器 三台机器
role: 192.168.189.129 master-主
192.168.189.130 master-从
192.168.189.131 Amoeba
1、主从搭建:
https://www.cnblogs.com/security-guard/
2、在两台MySQL服务器上给Amoeba服务器授权一个可以读写的用户
注意: 两台MySQL服务器都要授权,否则会导致Amoeba没有在mysql的读写权限会报错
grant all on *.* to 'amoeba'@'%' identified by '123'; flush privileges;
3、在第三台Amoeba服务器上安装Amoeba
1)安装jdk环境
cd /usr/local chmod +x jdk-6u14-linux-x64.bin ./jdk-6u14-linux-x64.bin 更改jdk安装目录的名字方便使用 mv jdk1.6.0_14 jdk1.6
2)配置环境变量
配置环境变量 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
3)上传Amoeba安装包到服务器
4)为Amoeba创建安装目录
#mkdir /usr/local/amoeba #tar zxf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
5)配置文件 dbServers.xml
vim /usr/loca/amoeba/conf/dbServers.xml
6) 编辑Amoeba .xml
vim /usr/local/amoeba/conf/amoeba.xml
7)启动Amoeba
/usr/local/amoeba/bin/amoeba start
8)测试
1、在开启一个窗口登陆登录amoeba 测试读写分离效果
#yum -y install mysql #mysql -ujack-p123 -h192.168.189.131 -P8066
2、创建数据库wg
create database wg;
use wg; create table list(id int); insert into list values(1); insert into list values(2);
3、停止mysql从的同步
stop slave;
4、在Amoeba上插入两条数据
insert into list values(3); insert into list values(4);
5、在Amoeba上查看数据,发现只有1、2没有新数据
6、切换到MySQL主上查看,主上可以查看到所有的新数据
select * from wg.list;
7、在MySQL从上查看数据,这里只有1、2
目前验证完毕,MySQL主有新的数据,说明在数据是王MySQL主上写数据
然后Amoeba查看的数据内容和MySQL从一致,说明数据是往从上读取数据
读写分离配置完毕