一、数据库集群及高可用性

二、mysql实现读写分离

mysql实现读写分离有多种方式:

1)代码语言(php\python\java等)层面实现读写分离,找开发进行实现。

2)通过软件工具实现读写分离,例如amoeba软件(厄密吧软件(读音))、mysql-proxy软件

amoeba软件既可以实现负载均衡,也可以实现读写分离,就是进行服务器端压力的分离。Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba forMysql软件。这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发。座落与 Client、DB Server(s)之间,对客户端透明。具有负载均衡、高可用性、SQL 过滤、读写分离、可路由相关的到目标数据库、可并发请求多台数据库合并结果。通过Amoeba你能够完成多数据源的高可用、负载均衡、数据切片的功能,目前Amoeba已在很多企业的生产线上面使用。

mysql proxy是一个通过网络利用mysql的网络协议,并且提供一个或者多个mysql服务器与一个或者多个mysql客户端相互沟通的应用程序。除此之外,proxy可以在查询队列发送到服务器之前插入一些查询请求,也可以在服务器的应答中将应答删除,这个功能可以使得管理者可以在对每个查询进行跟踪并获取报告。例如:监测其执行时间或者其他调用信息,并分别记录结果,将正确的应答返回客户端。

三、Amoeba实现mysql读写分离

推荐:https://blog.csdn.net/yabingshi_tech/article/details/50512626

本人根据博文搭建成功,测试读写分离成功,推荐此博文,另外JDK推荐1.8,推荐oralce官网上的rpm包安装,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

这里有几点说明:

1)查看当前使用的是哪个数据库:select database();

2)远程登陆amoeba命令: mysql -u root -p -h 192.168.0.102 --port 8066 (不是3306就要加上端口)

3)登陆截图如下,表示登陆的是amoeba代理

4)半同步复制:如果数据库有一次同步失败,那么半同步就会终止,变成异步同步机制。

什么是半同步复制:何为半同步复制模式呢?在此我们先了解异步复制模式,这是MySQL的默认复制选项。异步复制即是master数据库把binlog日志发送给slave数据库,然后就没有了然后了。在此暴露一个问题,当slave服务器发生故障了,那么肯定会导致主从数据库服务器的数据不一致。

  为了解决上面的问题,MySQL5.5引入一种叫做半同步复制模式。开启这种模式,可以保证slave数据库接收完master数据库发送过来的binlog日志并写入自己的中继日志中,然后反馈给master数据库,告知已经复制完毕。

 开启这种模式后,当出现超时,主数据库将会自动转为异步复制模式,直到至少有一台从服务器接受到主数据库的binlog,并且反馈给主数据库。这时主数据库才会切换回半同步复制模式。

5)远程登陆多实例同3)相同,加上端口就可以了。

最新文章

  1. codevs1003 电话连线
  2. Docker容器管理
  3. js——<script>标签的加载顺序
  4. EMVTag系列14《支付环境响应数据》
  5. Windows as a Service(1)—— Windows 10服务分支
  6. Spring(二):Spring框架&Hello Spring
  7. .NET Core IdentityServer4实战 第二章-OpenID Connect添加用户认证
  8. stm32矩阵键盘扫描数据通过USB发送
  9. Nginx的正向代理与反向代理详解
  10. mysql-8.0.13在windows上的部署
  11. 云ERP真的靠谱吗?
  12. Consul+upsync+Nginx实现动态负载均衡 摘自https://blog.csdn.net/qq_29247945/article/details/80787014
  13. python学习 day7 (3月8日)
  14. dtcp格式定义
  15. 2018 Jar_Feb_Newwords
  16. 【校招面试 之 剑指offer】第10-3题 矩阵覆盖问题
  17. 用matplotlib获取雅虎股票数据并作图
  18. 转载 intellij IDEA 使用体验 (本人感觉它的使用是一种趋势)
  19. 20155302 2016-2017-2 《Java程序设计》第十周学习总结
  20. java创建web服务

热门文章

  1. map构造同时初始化
  2. DQL单表查询
  3. 51nod 1346:递归
  4. 游戏引擎UE4详解!
  5. ZOJ 1276 DP
  6. java实现接口导出csv文件
  7. 吴裕雄--天生自然 JAVASCRIPT开发学习:函数调用
  8. windows和ubuntu双系统设置开机默认系统
  9. vue项目开始 首页 part1
  10. CSS——fixed 固定定位相对于父容器