amoeba:关于mysql的读写分离

今天用amoeba做了次读写分离,下面总结下步骤:

三台linux:

1、192.168.1.213    用于做amoeba服务器

2、192.168.1.184    用于mysql数据库

3、192.168.1.185    用于mysql数据库

#service iptables stop

#setenforce 0

一、运行amoeba需要java运行环境,所以先安装jdk环境

rpm –ivh jdk-7u45-linux-i586.rpm

vim /etc/profile tomcat配置文件

追加:

export JAVA_HOME=/usr/java/jdk1.8.0_20

export JAVA_BIN=/usr/java/jdk1.8.0_20/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

source /etc/profile 让修改的文件立即生效

java –version 显示版本

到这一步,显示出来java的版本就说明成功了

二、配置amoeba

创建一个amoeba的文件夹

mkdir /root/amoeba

tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /root/amoeba

cd /root/amoeba

1、首先修改dbServer.xml

vim /root/amoeba/conf/dbServer.xml  //修改该文件

2、接下来在修改amoeba.xml

vim /root/amoeba/conf/amoeba.xml

_

#####################################分界线###########################################

ok ,amoeba的操作先到这一步

下面去.1.184的那台数据库上去

service mysqld start

mysql -uroot -p

mysql>grant all on *.* to [email protected]‘%‘ identified by ‘123456‘;//创建远程用户并授权

mysql>flush privileges;

mysql>create database lxl; //创建数据库lxl,刚才在amoeba配置文件中都用这个数据库

mysql>create table lxl.t_test(id int(3)); //在lxl数据库里创建表

mysql>insert into lxl.t_test values(1); //插入 3条记录

mysql>insert into lxl.t_test values(2);

mysql>insert into lxl.t_test values(3);

#####################################分界线###########################################

.1.184上的数据库准备工作算是完成了,下面去.1.185上准备一下

service mysqld start

mysql -uroot -p

mysql>grant all on *.* to [email protected]‘%‘ identified by ‘123456‘;//创建远程用户并授权

mysql>flush privileges;

mysql>create database lxl; //创建数据库lxl,刚才在amoeba配置文件中都用这个数据库

mysql>create table lxl.t_test(id int(3)); //在lxl数据库里创建表

mysql>insert into lxl.t_test values(4); //插入 2条记录

mysql>insert into lxl.t_test values(5);

#####################################分界线##########################################

切换到amoeba服务器上,启动amoeba,

cd /root/amoeba/bin

./amoeba start&

#####################################分界线##########################################

使用远程登录amoeba

mysql –uamoeba –p1234 –P8066 –h 192.168.1.213 //使用 amoeba代理器的用户名和密码登录proxy端

现在就可以插入数据,因为之前两台数据库的数据不一样,你插入一条,可以很明显的看出区别。

读写分离到此算是结束了,希望对你有帮助!

ps:今天我做实验时,由于先给两台数据库做了主主复制。导致虽然amoeba配置成功了,两台数据库插入数据库,实时同步,纠结了半天

时间: 2024-08-18 17:36:25

amoeba:关于mysql的读写分离的相关文章

使用Amoeba 实现MySQL DB 读写分离

Amoeba(变形虫)项目是一个开源框架,于2008年开始发布一款 Amoeba for Mysql软件: 这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发:位于 Client.DB Server(s)之间,对客户端透明: =================================================================== 1 简介 2 准备 2.

Amoeba for MySQL的读写分离配置

一.Amoeba概述 1.amoeba简介 Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目.其主要功能包括读写分离,垂直分库,水平分库等,经过测试,发现其功能和稳定性都非常的不错,如果需要构架分布式数据库环境,采用Amoeba是一个不错的方案.目前Amoeba一共包括For aladdin,For MySQL和For Oracle三个版本,本文主要关注For MySQL版本的一个读写分离实现. Amoeba处于在应用和数据库之间,

利用amoeba实现mysql主从复制读写分离

一般大型网站为了缓解大量的并发访问,会在web端实现负载均衡,但是这是远远不够的.到了数据存储层.数据访问层,如果还是传统的架构,或者只是依靠一台服务器,大量的数据库连接操作,会导致数据库面临崩溃的危险.进而造成数据丢失,后果不堪设想.所以我们会考虑如何减少数据库的连接,一方面进行代码的优化,采用优秀的数据缓存技术如memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力.今天我们就利用MySQL主从配置,实现读写分离,分散数据库的压力.这种方式,很多网站都有应用,今天

Amoeba实现mysql主从读写分离

架设amoeba,实现mysql主从读写分 安装amoeba前需要先安装jdk,因为amoeba是JAVA编写的,所以需要JDK环境的支持,至于版本需要在JAVA1.5以后,mysql数据库需要在4.1以后的版本. 以下是我的实验环境. System:    CentOS 6.5 Master mysql:192.168.88.133 Slave mysql:192.168.88.135 Amoeba server:   192.168.88.131 安装mysql及配置mysql主从这里省略,

【实战】Amoeba 代理 MySQL 主从复制 + 读写分离 【提供源码包】

目录简介: 1· Amoeba 的介绍2· MySQL 主从复制原理3· MySQL 读写分离原理4· 实战案例5· 总结归纳 Amoeba 的介绍 1)Amoeba 是什么: 1·Amoeba 的中文名是:变形虫.它是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行.基于此可以实现负载均衡.读写分离.高可用性等需求. 2·Amoeba相当于一个SQL请求的路由器,目的是为负载均衡.读

Amoeba实现mysql的读写分离 CentOS6.5下

Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行.基于此可以实现负载均衡.读写分离.高可用性等需求.与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单) 不足 a).目前还不支持事务b).暂时不支持存储过程(近期会支持) c).不适合从amoeba

MySQL的读写分离的几种选择

MySQL的读写分离的几种选择 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 原址如下: http://heylinux.com/archives/1004.html Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面. 因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步

搭建基于MySQL的读写分离工具Amoeba

搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.20 多实例加主从复制 10.10.10.30 Amoeba服务器 10.10.10.40 客户端(最后测试使用) 1.首先搭建MySQL的主从复制(不在多提):需要注意的是:在主从库上需要创建一个用户,在主库上创建的用户为amoeba,权限是create,update,insert,delete:

利用amoeba(变形虫)实现mysql数据库读写分离

关于mysql的读写分离架构有很多,百度的话几乎都是用mysql_proxy实现的.由于proxy是基于lua脚本语言实现的,所以网上不少网友表示proxy效率不高,也不稳定,不建议在生产环境使用:amoeba是阿里开发的一款数据库读写分离的项目(读写分离只是它的一个小功能),由于是基于java编写的,所以运行环境需要安装jdk: 前期准备工作:1.两个数据库,一主一从,主从同步:master: 172.22.10.237:3306 :主库负责写入操作:slave: 10.4.66.58:330