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 里面配置写的模块来写入相应的数据库中。

测试完毕!

Amoeba-mysql读写分离实战的更多相关文章

  1. Amoeba mysql读写分离搭建及介绍

    Amoeba mysql读写分离搭建及介绍 推荐: http://blog.chinaunix.net/uid-20639775-id-154600.html

  2. 构建高性能web之路------mysql读写分离实战(转)

    一个完整的mysql读写分离环境包括以下几个部分: 应用程序client database proxy database集群 在本次实战中,应用程序client基于c3p0连接后端的database ...

  3. mysql读写分离实战

    一个完整的MySQL读写分离环境包括以下几个部分: 应用程序client database proxy database集群 在本次实战中,应用程序client基于c3p0连接后端的database ...

  4. SpringBoot + MyBatis + MySQL 读写分离实战

    1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做.因此,一般来讲,读写分离有两种实现方式.第一种是依靠 ...

  5. 构建高性能web之路------mysql读写分离实战

    http://blog.csdn.net/cutesource/article/details/5710645 http://www.jb51.net/article/38953.htm http:/ ...

  6. Mysql读写分离-Amoeba Proxy

    参考:http://www.linuxidc.com/Linux/2015-10/124115.htm 一个完整的MySQL读写分离环境包括以下几个部分: 应用程序client database pr ...

  7. amoeba实现MySQL读写分离

    amoeba实现MySQL读写分离 准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为19 ...

  8. amoeba安装与实现amoeba for mysql读写分离

    运行环境 l  CentOS6.3 l  Jdk1.6.0_30 l  amoeba-mysql-binary-2.2.0 l  amoeba:192.168.88.17 l  master1:192 ...

  9. Mysql读写分离方案-Amoeba环境部署记录

    Mysql的读写分离可以使用MySQL Proxy,也可以使用Amoeba.Amoeba(变形虫)项目是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项 ...

  10. 使用Amoeba实现mysql读写分离机制

    Amoeba的实用指南 http://docs.hexnova.com/amoeba/ 如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现 2,中间件层实现 应用层实现 应用层实 ...

随机推荐

  1. 【工具】Git

    1.安装好Git以后,在开始菜单里找到Git->Git Bash,弹出一个命令窗口 2.设置邮箱 . 3.创建文件夹 4.创建版本库 5.将文件添加到缓存区中去 6.提交文件 7.检查是否还有文 ...

  2. SQL 最基本使用

    --创建表 CREATE TABLE TreeData (id INT IDENTITY(1,1) PRIMARY KEY , pid INT ) --为表添加列 ALTER TABLE treeda ...

  3. AngularJS 验证

    AngularJS ng-model 指令用于绑定输入元素到模型中. 模型对象有两个属性: user 和 email. 我们使用了 ng-show指令, color:red 在邮件是 $dirty 或 ...

  4. bash脚本中的普通数组和关联数组

    1. 普通数组 bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. ...

  5. JavaScript求和

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. lua 获取文件名和扩展名

    local str = "aaa.bbb.bbb.txt" --获取文件名 function getFileName(str) local idx = str:match(&quo ...

  7. Codeforces Testing Round #10 A. Forgotten Episode

    水题,注意数据范围 #include <iostream> using namespace std; int main(){ long long n,a; cin >> n; ...

  8. js+css立体旋转

    纯 CSS3 制作可口可乐罐  这个效果相信大家很多人看过了,纯css实现的立体可口可乐罐,看起来相当高大上~ 于是今天我这小菜鸟试着研究下,稍微遗憾的是,没有看到源码,还是直接F12吧,貌似实现也不 ...

  9. BZOJ 1003 物流运输 题解 【SPFA+DP】

    BZOJ 1003 物流运输 题解 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的 ...

  10. UVA 11039 - Building designing(DP)

    题目链接 本质上是DP,但是俩变量就搞定了. #include <cstdio> #include <cstring> #include <algorithm> u ...