zoukankan      html  css  js  c++  java
  • Mysql集群讲解(一)

    Mysql集群讲解(一)

      主从复制概述

         在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在;

         如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故;

    为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障了,其他服务器依然可以继续提供服务;

    MySQL提供了主从复制功能以提高服务的可用性与数据的安全可靠性;

    主从复制是指服务器分为主服务器和从服务器,主服务器负责读和写,从服务器只负责读,主从复制也叫 master/slave,master是主,slave是从;

    主从复制架构:

     

     

    主从复制原理:

    当 master 主服务器上的数据发生改变时,则将其改变写入二进制日志文件中;

    salve 从服务器会在一定时间间隔内对 master 主服务器上的二进制日志进行探测,探测其是否发生过改变;

    如果探测到 master 主服务器的二进制日志发生了改变,则开始一个 I/O Thread 请求 master 二进制事件;

    同时 master 主服务器为每个 I/O Thread 启动一个dump  Thread,用于向其发送二进制事件;

    slave 从服务器将接收到的二进制事件保存至自己本地的中继日志文件中;

    salve 从服务器将启动 SQL Thread 从中继日志中读取二进制日志,在本地重放,使得其数据和主服务器保持一致;

    最后 I/O Thread 和 SQL Thread 将进入睡眠状态,等待下一次被唤醒;

     Mysql主从复制原理图:

     

    更通俗地说:mysql要做到主从复制,就是A服务把自己所做的增删改查的操作全都记录在日志中,B数据库就根据这份日志上面的操作在自己身上再操作一遍,这样就实现了主从复制;

    下一篇进行:环境搭建

  • 相关阅读:
    【原创翻译】The Free Lunch Is Over
    【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(二)
    【原创】基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结(一)
    实现内容提供者步骤
    为什么需要内容提供者
    aidl的应用场景
    aidl介绍
    百度音乐盒框架
    通过接口方式调用服务里面的方法
    通过bindservice方式调用服务方法里面的过程
  • 原文地址:https://www.cnblogs.com/liudongdong666666/p/7816151.html
Copyright © 2011-2022 走看看