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从一致,说明数据是往从上读取数据

读写分离配置完毕

 

猜你喜欢

转载自www.cnblogs.com/security-guard/p/12073648.html