mysql系列之7.mysql读写分离
准备
下载如下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读写分离的更多相关文章
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- 分布式架构高可用架构篇_08_MyCat在MySQL主从复制基础上实现读写分离
参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ...
- 黄聪:Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- Mysql 之主从复制,mysql-proxy读写分离
准备两台mysql服务器,master(192.168.43.64).slave(192.168.84.129) master配置: log-bin=mysql-bin binlog_format=m ...
- Mysql多实例安装+主从复制+读写分离 -学习笔记
Mysql多实例安装+主从复制+读写分离 -学习笔记 .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px ...
- 高可用架构篇--MyCat在MySQL主从复制基础上实现读写分离
实战操作可参考:http://www.roncoo.com/course/view/3117ffd4c74b4a51a998f9276740dcfb 一.环境 操作系统:CentOS-6.6-x86_ ...
- docker配置mysql主从与django实现读写分离
一.搭建主从mysql环境 1 下载mysql镜像 docker pull mysql:5.7 2 运行刚下载的mysql镜像文件 # 运行该命令之前可以使用`docker images`是否下载成功 ...
- linux上使用amoeba实现MySql集群,以及读写分离,主从复制
一.由于是MySql集群,所以就不可能只有一个MySql,需要多个MySql,具体安装步骤,可以参考http://www.cnblogs.com/ywzq/p/4882140.html这个地址进行安装 ...
- mysql主从复制 主主复制 读写分离
首先是mysql的主从复制很简单 主主复制也就是互相主从最麻烦的最难的就是日志恢复,增量恢复什么的比较复杂 首先如果你不会安装mysql版本最好一样,或者往上的版本,因为mysql是向下兼容 请注意不 ...
- MySQL深入利用Ameoba实现读写分离
3 ameoba安装配置 3.1 安装配置JDK [root@stu15 ~]# rpm -ivh jdk-7u67-linux-x64.rpm [root@stu15 ~]# cd /usr/j ...
随机推荐
- fiddle-获取 Cookie 信息
随着网络安全(例如:登录安全等)要求的不断提升,越来越多的登录应用在登录时添加了验证码登录,而验证码生成算法也在不断的进化,因而对含登录态的自动化测试脚本运行造成了一定程度的困扰,目前解决此种问题的方 ...
- sql server book
http://www.sqlpassion.at/blog/ http://www.sqlservercentral.com/Books/
- 使用log4net无法将日志记录插入mysql数据库解决办法
写在前面 今天没事研究了下,将日志文件写入mysql数据库,因为新公司用的数据库也是mysql,项目中需要将日志信息写入数据库,没办法,就研究了下.在使用过程中遇到一个很蛋疼的问题.最后解决了,郁闷了 ...
- Linux基础学习1
安装问题 随意下载的:CentOS-5.5-i386-LiveCD-Release2.iso Live CD 是可以直接运行在内存当中的,而不是安装镜像. 如之前玩过的BT5一样,把BT5-LiveC ...
- Android性能优化第(三)篇---MAT比Menmery Monitor更强大
作者 LooperJing 2016.11.17 16:42* 字数 1687 阅读 1603评论 3喜欢 21 在Android性能优化第(一)篇---基本概念中讲了JAVA的四大引用,讲了一下GC ...
- HDU2550 百步穿杨
百步穿杨 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 【重点突破】——SVG技术动态随机绘制圆形
一.引言 在学习Canvas绘图技术时,做的是随机验证码的例子,在学习SVG绘图技术时,同样也有一个随机绘制的例子——动态随机绘制圆形.这个练习,即综合了多种SVG技术的知识点,又很具有艺术感,随机生 ...
- [java面试]关于多态性的理解
执行时多态性是面向对象程序设计代码重用的一个最强大机制.Java多态性的概念也能够被说成"一个接口.多个方法".Java实现执行时多态性的基础是动态方法调度,它是一种在执行时而不是 ...
- 使用Hadoop自己的类操作HDFS
package hdfs; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.I ...
- JS批量获取参数构建JSON参数对象
在做系统的时候,往往查询条件是被严格指定的,大量的查询条件,一两个页面还可以通过dom去一个一个获取,再构建参数对象,请求后台接口. 这里给大家讲一个批量获取前端参数,构建参数对象. <form ...