本篇文章,记录了笔者搭建mysql读写分离的过程:

环境:centos7+mysql5.7

关于读写分离的搭建,参考我的一片文章:

一、读写分离的搭建

1.下载Amoeba

可以直接去https://sourceforge.net/projects/amoeba/下载,选择适合自己的版本

wget     https://master.dl.sourceforge.net/project/amoeba/OldFiles/amoeba-mysql-0.13.tar.gz

2.安装

安装的话,可以说是非常的简单,只需要将文件解压就行,解压到/usr/local/amoeba,命令如下:

tar -zxvf  amoeba-mysql-0.13.tar.gz  -C /usr/local/amoeba

3.验证amoeba是否安装成功

切换到amoeba文件夹

nifi读取mysql数据再写入到mysql_服务器

试运行 bin/amoeba,当出现以下情况时,表示安装成功

注意,这里启动时可能会报错(The stack size specified is too small, Specify at least 228k)

修改方法是

将58行(vim设置查看行号 在“:”下输入set number)修改为:
DEFAULT_OPTS="-server -Xms1024m -Xmx1024m -Xss256k"

nifi读取mysql数据再写入到mysql_mysql_02

4.配置amoeba

主要配置的文件为dbServers.xml 和amoeba.xml

修改dbServers.xml(具体修改的参数看注释)

cd /usr/local/amoeba/conf/
vim dbServers.xml,主要改的地方有这几块(这里我用notepad++直接连接linux修改文件,具体方法可以百度)

nifi读取mysql数据再写入到mysql_mysql_03

 

nifi读取mysql数据再写入到mysql_mysql_04

nifi读取mysql数据再写入到mysql_服务器_05

 

修改amoeba.xml文件(具体修改的参数看注释)

修改的地方如下:

nifi读取mysql数据再写入到mysql_数据_06

nifi读取mysql数据再写入到mysql_服务器_07

 

nifi读取mysql数据再写入到mysql_服务器_08

5.测试 

到上面,已经配置完成,接下来进行测试

首先启动amoeba,去bin目录下  ./amoeba start 出现下面界面,表示启动成功

nifi读取mysql数据再写入到mysql_服务器_09

 

 

 登陆测试,这里我们直接使用数据库可视化工具(这里我给大家再梳理一下: 在服务器192.168.122.128装了主服务器和amoeba,amoeba的端口为8066,在服务器192.168.122.140里面装了从服务器)

nifi读取mysql数据再写入到mysql_数据_10

这里的主机就是安装amoeba的服务器,端口8066,前面有配置,用户名和密码也是在前面配置文件中配置过

测试连接

nifi读取mysql数据再写入到mysql_数据_11

 

 为了显示明显,关闭从服务器的主从复制

 

nifi读取mysql数据再写入到mysql_数据_12

 接下来进行测试,用主从服务器test表,初始化的时候,这两张表都有两条数据

nifi读取mysql数据再写入到mysql_mysql_13

我们在amoeba客户端进行数据的插入,即端口是8066的那个 ,点击保存

nifi读取mysql数据再写入到mysql_mysql_14

重新查看各个数据库test表

主数据库(写数据库,ip为192.168.122.128)

nifi读取mysql数据再写入到mysql_数据_15

数据插入成功从数据库(读数据库,ip为192.168.122.140)

nifi读取mysql数据再写入到mysql_数据_16

数据依然没有改变amoeba(192.168.122.128,端口为8066,记得刷新)

nifi读取mysql数据再写入到mysql_mysql_17

数据没变

说明成功,amoeba插入插入主数据库,从 从数据库中查询结果,所以数据没有改变

到这里,mysql的读写分离已经完成。