标签:java_home table 连接数 oss val 地址 export port install
Amoeba简介读写分离原理图
实验环境
主机名 操作系统 IP地址 软件包
master CentOS 7.4 192.168.65.138 mysql-5.5.24.tar.gz
Slave1 CentOS 7.4 192.168.65.159 mysql-5.5.24.tar.gz
Slave2 CentOS 7.4 192.168.65.142 mysql-5.5.24.tar.gz
amoeba CentOS 7.4 192.168.65.162 dk-6u14-linux-x64.bin
amoeba-mysql-binary-2.2.0.tar.gz
Client(客户端) CentOS 7.4 192.168.65.164 mysql客户端
实验目标:
成功搭建mysql读写分离
实验步骤
一、先搭建主从复制,可参考http://blog.51cto.com/13760351/2173559
二、配置amoeba服务
1.关闭防火墙,安全性
setenforce 0
systemctl start firewalld.service
2.在主机amoeba上安装java环境
cp jdk-6u14-linux-x64.bin /usr/local/ #将jdk软件包复制到Linux系统中
cd /usr/local
chmod +x jdk-6u14-linux-x64.bin #赋予执行权限
./jdk-6u14-linux-x64.bin #执行jdk,输入yes,然后按enter
mv jdk1.6.0_14/ /usr/local/jdk1.6 #将jdk软件移动到此目录下
3.配置系统环境变量
vim /etc/profile #配置系统环境变量
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin/:$PATH:$HOME/bin
export AMOEBA_HOME=/usr/local/amoeba
export PATH=$PATH:$AMOEBA_HOME/bin
source /etc/profile #刷新,使系统环境变量生效
4.安装并配置amoeba软件
mkdir /usr/local/amoeba
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
chmod -R 755 /usr/local/amoeba/ #赋予权限
/usr/local/amoeba/bin/amoeba #启动amoeba
5.配置amoeba读写分离
(1)在master,slave1,slave2上添加权限开放给amoeba访问grant all on *.* to test@‘192.168.65.%‘ identified by ‘123.com‘;
(2)编辑amoeba.xml配置文件
cd /usr/local/amoeba #回到amoeba服务器
vim conf/amoeba.xml
(3)编辑dbServers.xml 配置文件vim conf/dbServers.xml
(4)启动amoeba软件
/usr/local/amoeba/bin/amoeba start&
netstat -anpt | grep java
三.测试客户端
yum install -y mysql
2.通过代理访问mysqlmysql -u amoeba -p123456 -h 192.168.65.162 -P8066
3.在MASTER上创建一个表
mysql -u root -p
mysql> use hhhh;
Mysql> create table zz (id int(10),name varchar(10),address varchar(20))
4.在主服务器上插入数据insert into zz values(‘1‘,‘zhang‘,‘this_is_master‘);
5.在从服务器1上插入数据insert into zz values(‘2‘,‘zhang‘,‘this_is_slave1‘);
6.在从服务器2上插入数据insert into zz values(‘3‘,‘zhang‘,‘this_is_slave2‘);
7.在客户端上测试
8.在客户端插入数据
insert into zz values(‘5‘,‘zhang‘,‘write_test‘);
插入的语句在客户端查询不到,只有在master上看到,证明写操作在master服务器上面
9.在master服务器查看
由此验证,在通过客户端连接数据库后写入的数据都在master,然后同步给slave1,slave2上,所有读操作都分摊给了slave从服务器,用来分担数据库压力。
标签:java_home table 连接数 oss val 地址 export port install
原文地址:http://blog.51cto.com/13760351/2173998