• Amoeba-mysql读写分离实战


    Amoeba-mysql读写分离实战

             Amoeba用途有很多,这里看标题我们就先说读写分离,因为我也只会这个。Amoeba定义为国内的,开源的。目前(2015年10月20日)我们用amoeba2.2版本来做。

    先说一下本人环境:

                           

    Keepalived那个先不说。

    Mysql 5.6

    Centos 6.4

    Mysql一主两从已OK。

    Amoeba 2.2.x

    主从我就不讲了,网上N多资料。

    Amoeba下载地址:http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/

    由于Amoeba需要用到jave se 所以我们需要安装jdk环境。

    最新的1.8 可用。

    安装jdk:

    rpm -ivh jdk-8u60-linux-x64.rpm

     

    source /etc/profile

    验证jdk:

     

    Jdk就完事了,现在开始amoeba的安装。

     

    先创建目录文件

    Mkdir /usr/local/amoeba

    在将下载文件复制到刚刚创建的目录,然后解压。

     

    然后我们进入conf文件,这里的xml为储存amoeba设置连接mysql的数据

    在amoeba目录下,输入

    ./bin/amoeba

    如果出现

    说明amoeba安装OK,

    接下来设置amoeba的参数,设置参数的文件在conf目录下的amoeba.xml和dbServers.xml两个文件。

    先看 dbServiers.xml

     

    grant all on *.* to root@'192.168.0.191' identified by "123456"; 这条命令是需要在客户端运行的,让amoeba调度器能够连接我们的数据库并做操作

     

    这个dbServers.xml 就设置到这里

     

     

    接下来看amoeba.xml

     

     

     

     

    配置完成后保存。

    然后启用amoeba

    /usr/local/amoeba/bin/amoeba &       &表示在后台运行

    用ps –ef |grep amoeba 看一下是否启动

     

     

     

         在windows 客户端 验证是否可以登录amoeba上;

     

     

    这样就表示登录成功。

     

     

     

     

     

     

    接下来就是验证读写分离了

     

    在停掉主从之前先在主上创建一个表名为create database jdtable;

    然后进入库  use jdtable;

    创建一个表 create table dashen (id int(10) ,name varchar(10),address varchar(20));

     

    然后在看从上是否同步。

    同步之后关掉主从 stop slave;

    开始验证。

    我们在第一个从上 也就是 187插入一条语句:

    insert into dashen values('1','syw','slave-187');

    在另外一个从上 也插入一条语句:

    insert into dashen values('2','syw','slave-188');          虽然IP是190

     

    然后我们用windows登陆amoeba这个调度器

    使用select * from jdtable.dashen;来查询,看一下amoeba会调用之前amoeba.xml这里面的Slavepool这个模块的循环,也可以说是负载均衡。Slave1 查询一次,slave2查询两次。

     

    在amoeba上插入一条数据时候,amoeba也会根据amoeba.xml 里面配置写的模块来写入相应的数据库中。

     

                                                                               测试完毕!

  • 相关阅读:
    python元编程(metaclass)
    STL源码剖析:序
    高效C++:定制new和delete
    高效C++:模板和泛型编程
    高效C++:继承和实现
    高效C++:实现
    高效C++:设计与声明
    高效C++:资源管理
    高效C++:构造/析构/赋值
    Noip2017退役记
  • 原文地址:https://www.cnblogs.com/shiyiwen/p/5045099.html
Copyright © 2020-2023  润新知