准备

下载如下linux安装包

jdk-6u31-linux-x64-rpm.bin

amoeba-mysql-binary-2.2.0.tar.gz

# crontab -e  //同步时间

*/ * * * * /usr/sbin/ntpdate 172.16.0.1 &>/dev/null

# service iptables stop  //这几台服务器都要关闭防火墙

配置主从复制架构: 多主机 (ip和名称定义)

192.168.1.25  master

192.168.1.30  slave1

192.168.1.35  slave2

192.168.1.147  amoeba

正式开始...

1.java

安装java

# cp jdk-6u31-linux-x64-rpm.bin /usr/local/

# cd /usr/local

# chmod +x jdk-6u31-linux-x64-rpm.bin

# ./jdk-6u31-linux-x64-rpm.bin

加入环境变量

# vi /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/latest

export PATH=$JAVA_HOME/bin:$PATH

验证jdk

# source /etc/profile //必须加上这句使java配置生效

# java -version

2.安装amoeba

# mkdir -p /usr/local/amoeba

# tar xf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba  //使用二进制安装

# cd /usr/local/amoeba

# bin/amoeba start  //前台运行

# nohup /usr/local/amoeba/bin/amoeba start &  //后台运行

3.配置amoeba

# cd /usr/local/amoeba/conf

# vi ameoba.xml  //前端配置文件, amoeba接口配置信息

<property name=</property>  <!-- amoeba被访问的端口 -->

<property name="user">root</property>  <!-- 用户名 -->

<property name="password"></property>  <!-- 密码 -->

<property name="defaultPool">wp</property>  <!-- 默认服务器池 -->

<property name="writePool">wp</property>  <!-- 写操作的虚拟服务器池 -->

<property name="readPool">rp</property>  <!-- 读操作的虚拟服务器池 -->

# vi dbServers.xml  //后端配置文件, amoeba访问mysql的配置信息

<property name=</property>  <!-- mysql被访问的端口 -->

<property name="schema">test</property>

<property name="user">root</property>  <!-- mysql用户名 -->

<property name="password"></property>  <!-- mysql密码 -->

<!-- 主服务器 -->

<dbServer name="master"  parent="abstractServer">

      <factoryConfig>

            <property name="ipAddress">192.168.1.25</property>

      </factoryConfig>

</dbServer>

<!-- 从服务器1 -->

<dbServer name="slave1"  parent="abstractServer">

      <factoryConfig>

            <property name="ipAddress">192.168.1.30</property>

      </factoryConfig>

</dbServer>

<!-- 从服务器2 -->

<dbServer name="slave2"  parent="abstractServer">

      <factoryConfig>

            <property name="ipAddress">192.168.1.35</property>

      </factoryConfig>

</dbServer>

<!-- 写池: master -->

<dbServer name="wp" virtual="true">

      <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

            <property name=</property>

            <property name="poolNames">master</property>

      </poolConfig>

</dbServer>

<!-- 读池: slave1,slave2 -->

<dbServer name="rp" virtual="true">

      <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

            <property name=</property>  <!-- 1表示轮询 -->

            <property name="poolNames">slave1,slave2</property>

      </poolConfig>

</dbServer>

4.测试:

从amoeba接口登录, 创建数据库db2后,再从主库的接口中去查询数据库是否已创建,如是则说明写入确实是落在了主库节点上

若要验证ameoba对于读操作的调度,则需要暂时停止从库的复制操作,然后在主库上更新数据,这样从ameoba接口登录来读取数据将出现不一致的情况

;

mysql系列之7.mysql读写分离的更多相关文章

  1. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  2. 分布式架构高可用架构篇_08_MyCat在MySQL主从复制基础上实现读写分离

    参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ...

  3. 黄聪:Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  4. Mysql 之主从复制,mysql-proxy读写分离

    准备两台mysql服务器,master(192.168.43.64).slave(192.168.84.129) master配置: log-bin=mysql-bin binlog_format=m ...

  5. Mysql多实例安装+主从复制+读写分离 -学习笔记

    Mysql多实例安装+主从复制+读写分离 -学习笔记 .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px ...

  6. 高可用架构篇--MyCat在MySQL主从复制基础上实现读写分离

    实战操作可参考:http://www.roncoo.com/course/view/3117ffd4c74b4a51a998f9276740dcfb 一.环境 操作系统:CentOS-6.6-x86_ ...

  7. docker配置mysql主从与django实现读写分离

    一.搭建主从mysql环境 1 下载mysql镜像 docker pull mysql:5.7 2 运行刚下载的mysql镜像文件 # 运行该命令之前可以使用`docker images`是否下载成功 ...

  8. linux上使用amoeba实现MySql集群,以及读写分离,主从复制

    一.由于是MySql集群,所以就不可能只有一个MySql,需要多个MySql,具体安装步骤,可以参考http://www.cnblogs.com/ywzq/p/4882140.html这个地址进行安装 ...

  9. mysql主从复制 主主复制 读写分离

    首先是mysql的主从复制很简单 主主复制也就是互相主从最麻烦的最难的就是日志恢复,增量恢复什么的比较复杂 首先如果你不会安装mysql版本最好一样,或者往上的版本,因为mysql是向下兼容 请注意不 ...

  10. MySQL深入利用Ameoba实现读写分离

    3 ameoba安装配置   3.1 安装配置JDK [root@stu15 ~]# rpm -ivh jdk-7u67-linux-x64.rpm [root@stu15 ~]# cd /usr/j ...

随机推荐

  1. ACM的奇计淫巧_扩栈C++/G++

    C++ #pragma comment(linker, "/STACK:102400000,102400000") G++ << ; // 256MB char *p ...

  2. http各类攻击及tcpcopy工具

    1.专业的还得ixia.Spirent TestCenter等软硬件一体的 2.一般的使用软件的,安装在linux上使用 参考: 1.http://blog.csdn.net/wuzhimang/ar ...

  3. MFC中 获取新输入编辑框的内容

    //得到原始内容的长度 int len = m_editPoemFileStr.GetLength(); UpdateData(true); //得到新增加的内容 CString  sNewStrin ...

  4. 百度 api 测试 & python

    ''' 一.文字转语音api,树莓派天气闹钟爬取实时天气数据转换为语音,设置树莓派计划任务 ''' from aip import AipSpeech import requests import r ...

  5. Esper epl语句实验

    基础代码见下,下文列举的实验都是在此程序基础上改动. all,snapshot,first String epl = "select * from appTable.win:time(5 s ...

  6. zoj3329--One Person Game(概率dp第六弹:形成环的dp,带入系数,高斯消元)

    One Person Game Time Limit: 1 Second      Memory Limit: 32768 KB      Special Judge There is a very ...

  7. 编程算法 - 两个链表的第一个公共结点 代码(C)

    两个链表的第一个公共结点 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入两个链表, 找出它们的第一个公共结点. 计算链表的长度, 然后移动 ...

  8. same-tree——比较两个二叉树是否相同

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  9. webstrom 代码工具(转http://www.cnblogs.com/tangdanni11/p/5149063.html)

    Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...

  10. struts2的BaseAction<T>继承ActionSupport实现ModelDriven<T>

    public class BaseAction<T> extends ActionSupport implements ModelDriven<T> { private sta ...