0
点赞
收藏
分享

微信扫一扫

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


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

案例

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

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

推荐步骤

温馨提示: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读写分离集群_amoeba_03


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


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

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


按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读写分离集群_lamp_06


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读写分离集群_mysql_07


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读写分离集群_amoeba_08


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


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

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


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


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


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

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


查看其监听端口

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


4、 测试

①在Linux系统client主机
安装mysql客户端程序 yum -y install mariadb
通过代理访问 mysql mysql -u amoeba -p123456 -h 192.168.2.1 -P8066 (-P为大写)

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

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

③分别在两台从服务器上

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


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

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


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

slave1

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


slave2

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


⑥测试读操作

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

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

第二次查询结果如下:

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

第三次查询的结果如下:

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

在master测试写操作

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


但是在客户机上查询不到

最终只能在主服务器上才能看到这条语句内容,说明写操作在master服务器上

如有疑问,可以参看视频​​玩转Linux系统之轻松搭建Mysql读写分离集群视频​​


举报

相关推荐

0 条评论