玩转Linux系统之轻松搭建Mysql读写分离集群
Posted Friends of the wind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玩转Linux系统之轻松搭建Mysql读写分离集群相关的知识,希望对你有一定的参考价值。
案例
温馨提示:mysql读写分离是以主从复制为前提的,关于此请参考上期教程搭建Mysql主从复制集群
实验环境,关闭防火墙,setenfoce设置为宽容模式,三台服务器搭建好主从复制集群
推荐步骤
温馨提示: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命令如下图显示:
翻译:您同意上述许可条款吗?,输入:yes
按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
完成,查看版本信息
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安装成功:
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
(2)编辑dbServer.xml配置文件
vim /usr/local/amoeba/conf/dbServers.xml
(3)启动amoeba软件(加&放在后台运行)
查看其监听端口
4、 测试
①在Linux系统client主机
安装mysql客户端程序 yum -y install mariadb
通过代理访问 mysql mysql -u amoeba -p123456 -h 192.168.2.1 -P8066 (-P为大写)
②在master上创建一个表,同步到各个从服务器上,然后关掉各从服务器的slave功能,再插入区别语句
③分别在两台从服务器上
④然后在主服务器上插入数据
⑤从服务器同步了表,手动插入其他内容
slave1
slave2
⑥测试读操作
在client主机上第一次查询的结果如下:
第二次查询结果如下:
第三次查询的结果如下:
在master测试写操作
但是在客户机上查询不到
最终只能在主服务器上才能看到这条语句内容,说明写操作在master服务器上
如有疑问,可以参看视频玩转Linux系统之轻松搭建Mysql读写分离集群视频
以上是关于玩转Linux系统之轻松搭建Mysql读写分离集群的主要内容,如果未能解决你的问题,请参考以下文章