amoeba 实现读写分离(借鉴)
1.准备三台服务器 我的是centos7版本的
做MySQL的主从状态 可以参考
https://www.cnblogs.com/chenxiaodou/articles/11993283.html
在MySQL的主从的服务器上给amoeba服务器授权一个可以操作读写的用户
|
1
2
|
grant all on *.* to 'amoeba'@'192.168.18.%' identified by '123';flush privileges; |
在Amoeba的服务器上安装Amoeba
1.安装jdk版本 要安装1.6的版本
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
将JDK的二进制包安装在此路径下cd /usr/local给予权限chmod +x jdk-6u14-linux-x64.bin在当前路径下开始执行./ jdk-6u14-linux-x64.bin一直按回车 直到遇见让你输入yes or no 输入yes即可回车更改jdk安装目录的名字mv jdk1.6.0_14 jdk1.6修改环境变量 在末尾加入以下内容vim /etc/profile------------------------------------------------------------export AMOEBA=/usr/local/amoebaexport JAVA_HOME=/usr/local/jdk1.6export PATH=$PATH:$JAVA_HOME/bin:$AMOEBA/bin------------------------------------------------------------使增加的变量生效source /etc/profile |
下载Ameoba的安装包
|
1
2
|
cd /usr/localwget http://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz |
为Amoeba创建安装目录
|
1
2
3
4
5
6
|
mkdir /usr/local/amoebacd /usr/local/amoeba在当前路径下下载amoebawget http://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz解压Ameoba的安装包tar -zxf amoeba-mysql-binary-2.1.0-RC5.tar.gz |
配置文件dbServers.xml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
cd /usr/local/ameoba/confvim dbServers.xml-----------------------------------------------------------------------------------------…… <!-- mysql port --> <property name="port">3306</property> <!-- mysql schema --> <property name="schema">test</property> <!-- mysql user --> <property name="user">amoeba</property> //MySQL主从中给予权限的用户 <!-- mysql password--> <property name="password">123</property> //MySQL主从中给予权限的用户的密码 …… <dbServer name="server1" parent="abstractServer"> <factoryConfig> <!-- mysql ip --> <property name="ipAddress">192.168.18.141</property> //MySQL主的IP地址 </factoryConfig> </dbServer> <dbServer name="server2" parent="abstractServer"> <factoryConfig> <!-- mysql ip --> <property name="ipAddress">192.168.18.142</property> //MySQL从的IP地址 </factoryConfig> </dbServer> <dbServer name="slave" virtual="true"> <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool"> <!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA--> <property name="loadbalance">1</property> <!-- Separated by commas,such as: server1,server2,server1 --> <property name="poolNames">server2</property> </poolConfig> </dbServer> |
编辑ameoba,.xml文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
cd /usr/local/ameoba/confvim ameoba.xml----------------------------------------------------------------------------------……<property name="authenticator"> <bean class="com.meidusa.amoeba.mysql.server.MysqlClientAuthenticator"> <property name="user">jave</property> <property name="password">123</property> <property name="filter"> <bean class="com.meidusa.amoeba.server.IPAccessController"> <property name="ipFile">${amoeba.home}/conf/access_list.conf</property> </bean> </property> </bean> </property>……<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter"> <property name="ruleLoader"> <bean class="com.meidusa.amoeba.route.TableRuleFileLoader"> <property name="ruleFile">${amoeba.home}/conf/rule.xml</property> <property name="functionFile">${amoeba.home}/conf/ruleFunctionMap.xml</property> </bean> </property> <property name="sqlFunctionFile">${amoeba.home}/conf/functionMap.xml</property> <property name="LRUMapSize">1500</property> <property name="defaultPool">server1</property> <property name="writePool">server1</property> <property name="readPool">slave</property> <property name="needParse">true</property> </queryRouter>-------------------------------------------------------------------------------- |
启动amoeba
|
1
2
|
cd /usr/local/amoeba/bin./amoeba start 出现以下字样 |
表示启动成功 
把Amoeba的终端再开启一台
关闭防火墙 SELinux 安装数据库
|
1
2
3
|
systemctl stop firewalldsetenforce 0yum -y install mariadb mariadb-server |
登录amoeba测试读写分离效果
|
1
2
3
4
5
6
7
|
mysql -ujave -p123 -h192.168.189.167 -P8066create database ceshi charset utf8;可以在MySQL主从数据库中查看是否存在这个数据库在从的MySQL数据库中停掉从的同步stop slave;在amoeba的服务器上再创建一个数据库这时再分别去主从数据库上查看 只有主的可以看到刚刚创建的数据库 而从上看不到 这样就实现了读写分离 |
amoeba 实现读写分离(借鉴)的更多相关文章
- Amoeba mysql读写分离搭建及介绍
Amoeba mysql读写分离搭建及介绍 推荐: http://blog.chinaunix.net/uid-20639775-id-154600.html
- Mysql 基于 Amoeba 的 读写分离
首先说明一下amoeba 跟 MySQL proxy在读写分离的使用上面的区别: 在MySQL proxy 6.0版本 上面如果想要读写分离并且 读集群.写集群 机器比较多情况下,用mysql pro ...
- 基于主从复制的Mysql双机热备+amoeba实现读写分离、均衡负载
读写分离指的是客户只能在主服务器上写,只能在从服务器上读,当然了,这也是要看配置,你可以在主服务器配置读的功能,但是在从服务器上只能读不能写,因为从服务器是基于binlog对主服务器的复制,如果在从服 ...
- amoeba实现读写分离
amoeba的运行环境依靠java的jdk: 下面执行amoeba的安装不走 # mkdir /usr/local/src/amoeba 上传文件:amoeba-mysql-binary-2.2.0. ...
- MySQL+Amoeba实现数据库主从复制和读写分离
MySQL读写分离是在主从复制的基础上进一步通过在master上执行写操作,在slave上执行读操作来实现的.通过主从复制,master上的数据改动能够同步到slave上,从而保持了数据的一致性.实现 ...
- 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 ...
- Mysql读写分离方案-Amoeba环境部署记录
Mysql的读写分离可以使用MySQL Proxy,也可以使用Amoeba.Amoeba(变形虫)项目是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项 ...
- 使用Amoeba实现mysql读写分离机制
Amoeba的实用指南 http://docs.hexnova.com/amoeba/ 如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现 2,中间件层实现 应用层实现 应用层实 ...
- Amoeba读写分离(MySQL)
实验操作环境: centos服务器 三台机器 role: 192.168.189.129 master-主 192.168.189.130 master-从 192.168.189.131 ...
随机推荐
- myleecode
目录 # myleecode 1.冒泡排序 2.快速排序 3.进度条打印 4.打印 九九乘法表 5.打印 金字塔 6.接雨滴 7.一行代码实现1-100个数相加 8.如何在不使用内置方法强制转换的情况 ...
- js 数组的forEach 函数
var numbers = [4, 9, 16, 25]; function myFunction(item, index) { console.log("item:" + ite ...
- ueditor+实现word图片自动上传
最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...
- BZOJ 2117: [2010国家集训队]Crash的旅游计划 动态点分治+二分
感觉现在写点分治可快了~ 二分答案,就可以将求第 $k$ 大转换成一个判断问题,直接拿点分树判断一下就行了. #include <cstdio> #include <vector&g ...
- Luogu2000 拯救世界
题目链接:戳我 生成函数的入门题吧. 我们可以把条件限制转化为生成函数,然后用第i项的系数来表示一共使用n块石头的方案个数. (你问我为什么?你可以自己演算一下,或者去看大佬的博客-->这里面讲 ...
- 6.集成算法boosting----AdaBoost算法
1.提升算法 提升算法实为将一系列单一算法(如决策树,SVM等)单一算法组合在一起使得模型的准确率更高.这里先介绍两种Bagging(代表算法随机森林),Boosting(代表算法AdaBoost-即 ...
- BZOJ 3622 Luogu P4859 已经没有什么好害怕的了 (容斥原理、DP)
题目链接 (Luogu) https://www.luogu.org/problem/P4859 (bzoj) https://www.lydsy.com/JudgeOnline/problem.ph ...
- Unity3D_(插件)使用Camera渲染制作Minimap小地图
制作小地图:使用Camera渲染出来Render Texture 原理:使用摄像机从上到下获得场景游戏物体,摄像机Culling Mask渲染层级可设置是否需要在小地图上展示游戏物体,将摄像机获得的场 ...
- JAVA使用easyexcel操作Excel
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本 ...
- 云服务器搭建anaconda pytorch torchvision
(因为在普通用户上安装有些权限问题安装出错,所以我在root用户下相对容易安装,但是anaconda官网说可以直接在普通用户下安装,不过,在root下安装,其他用户也是能用的. 访问Anaconda官 ...