MySQL-Amoeba读写分离

本文详细介绍了在Linux环境下,如何进行MySQL的Amoeba读写分离设置。内容包括安装Java环境,解压并配置Amoeba服务器,调整启动内存,以及启动Amoeba服务,并通过客户端进行登录测试。实验环境为一主两从的MySQL集群,通过Amoeba中间件实现负载均衡。

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

MySQL-Amoeba读写分离

Amoeba是基于Java语言编写的软件,所以要首先构建Java环境

实验环境

前提:一主两从已经建立

192.168.4.111 主库

192.168.4.112 从库

192.168.4.115 从库

192.168.4.144 安装中间件amoeba

192.168.4.113 安装mysql客户端,登录amoeba测试

挂载挂载镜像文件

mount -o loop amoeba-n.iso /iso
cd iso && ll
-r-xr-xr-x 1 root root   3302165 6月  12 2015 amoeba-mysql-1.3.1-BETA.zip  #amoeba软件包
-r-xr-xr-x 1 root root 138021223 6月  12 2015 jdk-7u40-linux-x64.gz  #Java语言环境jdk软件包

安装Java环境

tar -zxvf jdk-7u40-linux-x64.gz -C /usr/local/  #解压并放到local路径下
mv /usr/local/jdk1.7.0_40 jdk  #更改名称为jdk
vim /etc/profile  #增加以下内容
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
export CLASSPATH

. /etc/profile  #刷新环境变量
java -version  #查看java的版本

安装amoeba服务器

1.解压amoeba压缩包

 unzip amoeba-mysql-1.3.1-BETA.zip -d /usr/local/amoeba  #安装到/usr/local下

2.修改amoeba配置文件

配置文件结构
#配置文件其实就是三个区域
server>
这个区域声明的是客户端,如php连接amoeba中间件的用户名称、密码、访问端口
</server>

<dbServerList>  #库列表
<dbServer name="server1"> #声明每一个库
这个区域声明的是一个主库/从库,包括数据库的ip、端口、数据库授权amoeba连接的用户及密码,以及共享的库名称。每个dbserver只声明一个库,如果有多个库,不论主从,则需要在声明多个dbserver,每一个dbserver的name值不能相同。
</dbServer>
<dbServer name="master/slave" virtual="true"> #声明主库池和从库池
这个区域声明的是主库池和从库池,每个库都是上边声明好的,主库写到一个池里,从库写到一个池里,为读写分离做分组准备
</dbServer>
</dbServerList>

<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter"> #查询的路由表信息
这里设置的是master(上边已经声的),执行的是写操作。slave(上边已经声明的),执行的是读操作,从而实现读写分离
</queryRouter>
配置文件解析
vim /usr/local/amoeba/conf/amoebaxml
    <?xml version="1.0" encoding="gbk"?>
<!DOCTYPE amoeba:configuration SYSTEM "amoeba.dtd">
<amoeba:configuration xmlns:amoeba="http://amoeba.meidusa.com/">
	<server>
		<!-- proxy server�󶨵Ķ˿� -->
		<property name="port">8066</property>  #php连接amoeba中间件的端口,可以修改
		
		<!-- proxy server�󶨵�IP -->
		<!-- 
		<property name="ipAddress">127.0.0.1</property>  #默认注释了,监听的地址,修改为amoeba端ip
		 -->
		<!-- proxy server net IO Read thread size -->
		<property name="readThreadPoolSize">20</property>
		
		<!-- proxy server client process thread size -->
		<property name="clientSideThreadPoolSize">30</property>
		
		<!-- mysql server data packet process thread size -->
		<property name="serverSideThreadPoolSize">30</property>
		
		<!-- socket Send and receive BufferSize(unit:K)  -->
		<property name="netBufferSize">128</property>
		
		<!-- Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). -->
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值