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

该博客介绍了在Linux系统下搭建Mysql读写分离集群的方法。以主从复制为前提,先搭建好主从复制集群,接着介绍amoeba服务器安装Java环境、安装并配置amoeba软件、配置读写分离及读负载均衡,最后进行测试,展示了读写操作的测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

案例

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术职场教练

您的是我坚持原创免费作品的不懈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值