Amoeba-mysql主从+读写分离实战+测试
2015-10-21 09:24
836 查看
Amoeba-mysql读写分离实战
Amoeba用途有很多,这里看标题我们就先说读写分离,因为我也只会这个。Amoeba定义为国内的,开源的。目前(2015年10月20日)我们用amoeba2.2版本来做。
先说一下本人环境:
![](http://s3.51cto.com/wyfs02/M00/74/AF/wKioL1Ym5zbyIxExAADay0VnuMg256.jpg)
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
![](http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym50jR_QM_AAEV4426fbg217.jpg)
source /etc/profile
验证jdk:
![](http://s3.51cto.com/wyfs02/M02/74/B2/wKiom1Ym52qSsKYOAAEhME4H_Cc727.jpg)
Jdk就完事了,现在开始amoeba的安装。 先创建目录文件Mkdir /usr/local/amoeba在将下载文件复制到刚刚创建的目录,然后解压。
![](http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym57rCmWhXAAFbVfwqpww932.jpg)
然后我们进入conf文件,这里的xml为储存amoeba设置连接mysql的数据在amoeba目录下,输入./bin/amoeba
![](http://s3.51cto.com/wyfs02/M00/74/B2/wKiom1Ym56mhWXu9AABAvOaodL4427.jpg)
如果出现说明amoeba安装OK, 接下来设置amoeba的参数,设置参数的文件在conf目录下的amoeba.xml和dbServers.xml两个文件。先看 dbServiers.xml
![](http://s3.51cto.com/wyfs02/M00/74/AF/wKioL1Ym5-uyJ-yDAARt_eq2r5A452.jpg)
grant all on *.* to root@'192.168.0.191' identified by "123456";这条命令是需要在客户端运行的,让amoeba调度器能够连接我们的数据库并做操作
![](http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym5-HyttdUAAPoUDHtH64447.jpg)
这个dbServers.xml就设置到这里 接下来看amoeba.xml
![](http://s3.51cto.com/wyfs02/M02/74/B2/wKiom1Ym5_2SAOlWAAMQ1eTXXC4730.jpg)
![](http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym6D_h4ZprAAN8fzp7MGk709.jpg)
配置完成后保存。然后启用amoeba /usr/local/amoeba/bin/amoeba & &表示在后台运行用ps –ef |grepamoeba 看一下是否启动 在windows 客户端验证是否可以登录amoeba上;
![](http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym6F7hkcY1AABGN6mSdvA342.jpg)
这样就表示登录成功。
![](http://s3.51cto.com/wyfs02/M00/74/B2/wKiom1Ym6E-A4lJoAAEF1P-PbwU124.jpg)
=======================================================================接下来就是验证读写分离了 在停掉主从之前先在主上创建一个表名为create database jdtable;然后进入库 use jdtable;创建一个表 createtable dashen (id int(10) ,name varchar(10),address varchar(20)); 然后在看从上是否同步。同步之后关掉主从 stopslave;开始验证。我们在第一个从上也就是 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查询两次。
![](http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym6JLiPY3uAADkomgqvyw062.jpg)
在amoeba上插入一条数据时候,amoeba也会根据amoeba.xml里面配置写的模块来写入相应的数据库中。==================================================================================== 测试完毕! by:shiyiwen.请勿转载
本文出自 “Linux折腾” 博客,谢绝转载!
Amoeba用途有很多,这里看标题我们就先说读写分离,因为我也只会这个。Amoeba定义为国内的,开源的。目前(2015年10月20日)我们用amoeba2.2版本来做。
先说一下本人环境:
![](http://s3.51cto.com/wyfs02/M00/74/AF/wKioL1Ym5zbyIxExAADay0VnuMg256.jpg)
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
![](http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym50jR_QM_AAEV4426fbg217.jpg)
source /etc/profile
验证jdk:
![](http://s3.51cto.com/wyfs02/M02/74/B2/wKiom1Ym52qSsKYOAAEhME4H_Cc727.jpg)
Jdk就完事了,现在开始amoeba的安装。 先创建目录文件Mkdir /usr/local/amoeba在将下载文件复制到刚刚创建的目录,然后解压。
![](http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym57rCmWhXAAFbVfwqpww932.jpg)
然后我们进入conf文件,这里的xml为储存amoeba设置连接mysql的数据在amoeba目录下,输入./bin/amoeba
![](http://s3.51cto.com/wyfs02/M00/74/B2/wKiom1Ym56mhWXu9AABAvOaodL4427.jpg)
如果出现说明amoeba安装OK, 接下来设置amoeba的参数,设置参数的文件在conf目录下的amoeba.xml和dbServers.xml两个文件。先看 dbServiers.xml
![](http://s3.51cto.com/wyfs02/M00/74/AF/wKioL1Ym5-uyJ-yDAARt_eq2r5A452.jpg)
grant all on *.* to root@'192.168.0.191' identified by "123456";这条命令是需要在客户端运行的,让amoeba调度器能够连接我们的数据库并做操作
![](http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym5-HyttdUAAPoUDHtH64447.jpg)
这个dbServers.xml就设置到这里 接下来看amoeba.xml
![](http://s3.51cto.com/wyfs02/M02/74/B2/wKiom1Ym5_2SAOlWAAMQ1eTXXC4730.jpg)
![](http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym6D_h4ZprAAN8fzp7MGk709.jpg)
配置完成后保存。然后启用amoeba /usr/local/amoeba/bin/amoeba & &表示在后台运行用ps –ef |grepamoeba 看一下是否启动 在windows 客户端验证是否可以登录amoeba上;
![](http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym6F7hkcY1AABGN6mSdvA342.jpg)
这样就表示登录成功。
![](http://s3.51cto.com/wyfs02/M00/74/B2/wKiom1Ym6E-A4lJoAAEF1P-PbwU124.jpg)
=======================================================================接下来就是验证读写分离了 在停掉主从之前先在主上创建一个表名为create database jdtable;然后进入库 use jdtable;创建一个表 createtable dashen (id int(10) ,name varchar(10),address varchar(20)); 然后在看从上是否同步。同步之后关掉主从 stopslave;开始验证。我们在第一个从上也就是 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查询两次。
![](http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym6JLiPY3uAADkomgqvyw062.jpg)
在amoeba上插入一条数据时候,amoeba也会根据amoeba.xml里面配置写的模块来写入相应的数据库中。==================================================================================== 测试完毕! by:shiyiwen.请勿转载
本文出自 “Linux折腾” 博客,谢绝转载!
相关文章推荐
- mysql主从复制
- mysql实用教程的数据构造
- MySQL 导出数据为csv格式的方法
- MyCli:支持自动补全和语法高亮的MySQL客户端
- rsync+inotify-tools+ssh实现mysql-bin日志文件实时备份
- Mysql中文乱码的问题
- MySQL Dll语句
- MySQL教程
- MySQL数据库ab不同步2种情况及解决过程
- MySQL数据库ab主从复制出错及解决过程
- 沉痛记下这次与 mysql 的交锋,以全面溃败结束
- mysql 更改root密码
- MySQL备份与恢复数据库
- 【MySQL】【leetcode】 Combine Two Tables解题报告
- 【MySQL】【leetcode】 Second Highest Salary解题报告
- 使用secureCrt端口转发连接远程服务器mysql
- MySQL数据库高并发优化配置
- Mysql零碎知识点(今日所学)
- mysqldump + crontab 定时备份MySQL数据
- mysql binlog命令