数据库读写分离
接着上一期数据库主从复制来说,一个完整的服务体系除了有数据库的集群,还需要有一台调度服务器做为“指挥官”将客户端传来的请求通过算法平均送到每台数据库中。本次读写分离就是在搭建调度服务器,实现主数据库进行写入,从数据库实现读取。
本实验是基于上一期博客:数据库数据主从复制(https://blog.csdn.net/QwQNightmare/article/details/103901978)上进行的。
amoeba调度服务器的搭建
1.关闭防火墙
systemctl stop firewalld
setenforce 0
2.amoeba是基于java语言开发的,所以需要先安装jdk。
#复制jdk到/usr/local
cp jdk-6u14-linux-x64.bin /usr/local/
cd /usr/local
#执行jdk
./jdk-6u14-linux-x64.bin
jdk安装过程
出现选择yes
安装成功
3.改名jdk方便使用
mv jdk1.6.0_14/ jdk1.6
4.为了让系统识别命令添加环境变量
vim /etc/profile
#在最后一行插入
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$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
#退出更新
source /etc/profile
5.创建amoeba的工作目录
#创建一个amoeba的工作目录
mkdir /usr/local/amoeba
6.解压amoeba的压缩包
tar zxvf /opt/amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
#开放amoeba的目录权限
chmod -R 755 /usr/local/amoeba
7.测试amoeba命令是否生效
#执行命令测试amoeba是否生效
/usr/local/amoeba/bin/amoeba
8.修改amoeba的主配置文件
vim /usr/local/amoeba/conf/amoeba.xml
首先修改客户端来访者用户名和密码。
修改读取池和写入池
修改后
主配置文件修改好了之后保存退出。
进入vim amoeba/conf/dbServers.xml 添加数据库池子。
将主数据库加入输入master和IP地址。
加入两个从数据库名称和IP。
在配置文件最后添加两个slave从数据库到池子里。
成功登陆amoeba服务器。
可以在客户端查看到主数据库中的数据。
这样读写分离就搭建好了。