zoukankan      html  css  js  c++  java
  • 十四、linux-MySQL的数据库集群读写分离及高可用性、备份等

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

       

     二、mysql实现读写分离

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

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

         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)相同,加上端口就可以了。

  • 相关阅读:
    diffstat命令
    v-if与v-show的区别
    常数时间插入、删除和获取随机元素
    diff命令
    C++ bitset的简单使用
    树的直径 | 简答的两道模板题
    Codeforces Round #544 (Div. 3)简单题解
    VIM 入门手册, (VS Code)
    PTA 天梯赛 L3-003 社交集群(并查集)
    L3-002 特殊堆栈 (双数组模拟栈)
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/11567368.html
Copyright © 2011-2022 走看看