amoeba实现mysql读写分离+主从复制架构

一、环境

系统:centos6.5

mysql版本:mysql5.6

master服务器:192.168.1.21

slave服务器: 192.168.1.100

master写 slave读

二、实现mysql主从复制

  1. 在master的/etc/my.cnf中[mysqld]字段下加入如下内容:

    server_id=1

    log_bin=mysql-bin

    binlog_format=mixed

    relay-log=relay-bin

    relay-log-index=slave-relay-bin.index

    auto-increment-incremen=2

    auto-increment-offset=1

然后重启mysql服务:service mysqld restart

2. 在slave的/etc/my.cnf中[mysqld]字段下加入如下内容:

server_id=2

log_bin=mysql-bin

binlog_format=mixed

relay-log=relay-bin

relay-log-index=slave-relay-bin.index

auto-increment-incremen=2

auto-increment-offset=2

然后重启mysql服务:service mysqld restart

3. 然后在master中授权用户并查看二进制日志状态信息

4.在slave端建立同步连接,并执行start slave; 再查看状态:

change master to master_host=‘192.168.1.21‘,master_user=‘zhangfei‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=1489;

当看到上图两个yes时为主从复制成功。

三、实现读写分离

  1. 先安装Java

2.安装amoeba

下载地址:wget https://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/3.x/amoeba-mysql-3.0.5-RC-distribution.zip

1) 在master中给amoeba授权一个mysql远程账户
          mysql> GRANT ALL PRIVILEGES ON *.* TO ‘amoeba‘@‘192.168.1.%‘ IDENTIFIED BY ‘amoeba‘ WITH GRANT OPTION;

2)解压amoeba包:

3) 配置Amoeba下的dbServers.xml:

vi  /usr/local/amoeba/conf/dbServers.xml

4) 图中192.168.5.10换成192.168.1.21

192.168.5.20换成192.168.1.100

5)编辑amoeba.xml;

vi /usr/local/amoeba/conf/amoeba.xml

6)编辑jvm.properties:

vim /usr/local/amoeba/jvm.properties

7) 启动amoeba:

/usr/local/amoeba/bin/launcher > /var/log/amoeba.log 2>&1 &

此时amoeba已启动成功。

四、测试读写分离

1.测试时先关闭主从复制:在slave端执行 stop slave

2.使用mysql -uroot -p123456 -h192.168.1.21 -P8806 登陆并在表中插入一条数据

3.分别登陆master和slave 发现只有master有新插入的数据而slave没有

此时写分离测试成功。

4.登陆salve的mysql在表中插入一条新数据

5.使用mysql -uroot -p123456 -h192.168.1.21 -P8806 登陆

6.经查询表中查到slave端新添加的数据

此时读分离测试成功。

至此实现mysql主从复制+读写分离。

本文本着简单直接配置成功为目的,如有疑问可以留言。

2 我是

33

2

时间: 2024-10-03 13:45:28

amoeba实现mysql读写分离+主从复制架构的相关文章

Amoeba实现Mysql读写分离

环境规划 Amoeba读写分离器 172.16.254.144/16 Mysql服务器(master) 172.16.254.150/16 Mysql服务器(slave) 172.16.254.151/16 一.先实现mysql主从复制,在master上使用yum安装mysql [[email protected] mysql]# yum -y install mysql mysql-server 启用二进制日志,编辑/etc/my.cnf在[mysqld]下添加如下行: log-bin = /

Amoeba实现Mysql读写分离部署文档

以下所有理解纯属个人理解,如若有误欢迎指出,不胜感激--o(∩_∩)o 两台服务器配置MYSQL主从复制实现数据高可用,这时读与写操作都有由master服务器来完成的,而从服务器只是复制了mster服务器的数据,这时可以利用一台服务器配置Amoeba实现mysql读写分离, master负责写,slave负责读取,当然 也可以有多个salve-- 从而减轻master服务器的压力,实现负载分摊: 拓扑图: Mysql主从复制原理: 两台mysql服务器一个作为master一个为slave:mas

利用amoeba实现mysql读写分离

参考: http://my.oschina.net/u/1169079/blog/390726 http://douya.blog.51cto.com/6173221/1607493 一 安装环境: 三台centos6.7 64位的系统 192.168.127.130   从数据库 192.168.127.131   主数据库 192.168.127.134  amoeba 二 安装过程 (下面的1-3的所以操作都在amoeba服务器上面) 1 首先安装jdk环境,下载,安装,设置环境变量 vi

使用amoeba实现mysql读写分离

使用amoeba实现mysql读写分离 amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行.基于此可以实现负载均衡.读写分离.高可用性等需求.与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便 amoeba使用java所研发,但是amoeba不支持分布式事物(据说现在最新版本已经支持事物),如果用到分布式事物的话不建议使用amoeba. mys

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

Amoeba的实用指南 http://docs.hexnova.com/amoeba/ 如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现 2,中间件层实现 应用层实现 应用层实现是指在应用程序内部及连接器中实现读写分离. 例如: com.mysql.jdbc.replicationdriver mysqlnd_ms 优点: 程序内部实现读写分离,安装即可使用 减少部署难度. 访问压力在一定级别以下,性能很好. 缺点: 架构一旦调整,代码要更这变, 不够灵活. 难以实现高级

使用amoeba配置mysql读写分离

一,背景介绍: Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离.可路由相关的query到目标数据库.可并发请求多台数据库合并结果.要想搭建Amoeba读写分离,首先需要知道MySQL的主从配置.具体的架构图如下图: 二,配置所需的环境: Amoeba for mysql:192.168.1.28 Master : 192.168.1.247 Slave : 192.16

Amoeba for MySQL读写分离配置

一.      安装和运行Amoeba 1. Amoeba for MySQL 架构: 2. 验证Java的安装Amoeba框架是基于Java SE1.5开发的,建议使用Java SE1.5以上的版本.#  java  -versionjava version "1.6.0_35"Java(TM) SE Runtime Environment (build 1.6.0_35-b10)Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01,

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.168.88.10 l  slave1:192.168.88.11 一: 安装jdk1.5以上版本 1.1    卸载centos服务器自带版本jdk 1.1.1          查看服务器自带jdk版本号 [[email protected] ~]# java –version 1.1.2 查

mysql中间件amoeba实现mysql读写分离

Amoeba是一个以MySQL为底层数据存储,并相应用提供MySQL协议接口的proxy.它集中地响应应用的请求,根据用户事先设置的规则.将SQL请求发送到特定的数据库上运行.基于此能够实现负载均衡.读写分离.高可用性等需求.与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单).本文就来实现一个简单的amoeba的配置 实验环境: 192.168.1.121为amoeba