天天看点

玩转Linux系统之轻松搭建Mysql读写分离集群

玩转Linux系统之轻松搭建Mysql读写分离集群

案例

温馨提示:Mysql读写分离是以主从复制为前提的,关于此请参考上期教程​​搭建Mysql主从复制集群​​ 实验环境,关闭防火墙,setenfoce设置为宽容模式,三台服务器搭建好主从复制集群

玩转Linux系统之轻松搭建Mysql读写分离集群

推荐步骤

温馨提示:amoeba建议java环境是1.5或1.6,centos7默认是1.8,演示降到1.6版本

例如:

1、amoeba服务器安装java环境

将下载的jdk包上传到/usr/local,进入目录
[root@centos1 ~]# cd /usr/local/
设置执行权限
[root@centos1 ~]# chmod +x /usr/local/jdk-6u14-linux-x64.bin 
执行安装(阅读条款,一直确定即可)
[root@centos1 local]# ./jdk-6u14-linux-x64.bin  //根据提示按回车和yes即可      

执行./jdk-6u14-linux-x64.bin命令如下图显示:

玩转Linux系统之轻松搭建Mysql读写分离集群
玩转Linux系统之轻松搭建Mysql读写分离集群

翻译:您同意上述许可条款吗?,输入:yes

玩转Linux系统之轻松搭建Mysql读写分离集群

按Enter继续,最后出现done表示好了。

优化

说明:CLASSPATH指定java类搜索路径(小程序),要使用已经编写好java的类,前提当然是能够找到它们,JVM就是通过CLASSPATH来寻找类的。

[root@centos1 local]# vim  /etc/profile
export  JAVA_HOME=/usr/local/jdk1.6  //指向jdk的安装路径
export 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
[root@centos1 local]# mv jdk1.6.0_14/  /usr/local/jdk1.6
[root@centos1 local]# source /etc/profile      

完成,查看版本信息

玩转Linux系统之轻松搭建Mysql读写分离集群

2、 安装并配置amoeba软件

创建amoeba专用目录
[root@centos1 local]# mkdir /usr/local/amoeba
解压到此目录
[root@centos1 local]# tar zxf  /mnt/amoeba-mysql-binary-2.2.0.tar.gz  -C  /usr/local/amoeba
为目录设置权限
[root@centos1 local]# chmod -R 755 /usr/local/amoeba/
验证amoeba有没安装成功
[root@centos1 local]# amoeba      

验证amoeba有没安装成功,看到如图提示代表amoeba安装成功:

玩转Linux系统之轻松搭建Mysql读写分离集群

3、 配置amoeba读写分离,两个slave读负载均衡

①分别在master、slave1和slave2中开放权限给amoeba访问

mysql> grant all on . to ‘test’@‘192.168.2.%’ identified by ‘123.com’;

②amoeba代理服务器配置

(1)编辑amoeba.xml配置文件(注意:不同主机,配置文件行数可能不一样,更改划线部分)

vim /usr/local/amoeba/conf/amoeba.xml

玩转Linux系统之轻松搭建Mysql读写分离集群
玩转Linux系统之轻松搭建Mysql读写分离集群

(2)编辑dbServer.xml配置文件vim /usr/local/amoeba/conf/dbServers.xml

玩转Linux系统之轻松搭建Mysql读写分离集群
玩转Linux系统之轻松搭建Mysql读写分离集群
玩转Linux系统之轻松搭建Mysql读写分离集群

(3)启动amoeba软件(加&放在后台运行)

玩转Linux系统之轻松搭建Mysql读写分离集群

查看其监听端口

玩转Linux系统之轻松搭建Mysql读写分离集群

4、 测试

①在Linux系统client主机

安装mysql客户端程序 yum -y install mariadb

通过代理访问 mysql mysql -u amoeba -p123456 -h 192.168.2.1 -P8066 (-P为大写)

②在master上创建一个表,同步到各个从服务器上,然后关掉各从服务器的slave功能,再插入区别语句

玩转Linux系统之轻松搭建Mysql读写分离集群

③分别在两台从服务器上

玩转Linux系统之轻松搭建Mysql读写分离集群

④然后在主服务器上插入数据

玩转Linux系统之轻松搭建Mysql读写分离集群

⑤从服务器同步了表,手动插入其他内容

slave1

玩转Linux系统之轻松搭建Mysql读写分离集群

slave2

玩转Linux系统之轻松搭建Mysql读写分离集群

⑥测试读操作

在client主机上第一次查询的结果如下:

玩转Linux系统之轻松搭建Mysql读写分离集群

第二次查询结果如下:

玩转Linux系统之轻松搭建Mysql读写分离集群

第三次查询的结果如下:

玩转Linux系统之轻松搭建Mysql读写分离集群

在master测试写操作

玩转Linux系统之轻松搭建Mysql读写分离集群

但是在客户机上查询不到

继续阅读