zoukankan      html  css  js  c++  java
  • mysql主从复制与读写分离

        主从复制以及主从复制的作用:
     
        在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需要的,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。
     
     
        mysql支持的复制类型:
     
     
        1、基于语句的复制:在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制,执行效率高。
     
        2、基于行的复制:把改变的内容复制过去,而不是把命令在从服务器上执行一遍。
     
        3、混合类型复制:默认采用基于语句的复制,一单发现基于语句无法精确复制时,就采用基于行的复制。
     
     
        复制的工作过程:
     
     
        1、在每个事务更新数据完成之前,master在二进制日志记录这些改变。写入二进制日志完成后,master通知存储引擎提交事务。
     
        2、slave将master的binary log复制到其中继日志。首先slave开始一个工作线程(I/O),I/O线程在master上打开一个普通的连接,然后开始binlog dump process。binlog dump proceess从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件,I/O线程将这些事件写入中继日志。
     
        3、sql slave thread(sql从线程)处理该过程的最后一步,sql线程从中继日志中读取事件,并重放其中的事件而更新slave数据,使其与master中的数据一致,只要该线程与I/O线程保持一致,中继日志通常会位于os缓存中,所以中继日志的开销很小。
     
     
        mysql读写分离原理
     
        读写分离就是在主服务器上修改,数据同步到从服务器,从服务器只能提供读取数据,不能写入,实现备份的同时也实现了数据库性能的优化,以及提升服务器安全。
     
     
     
     
  • 相关阅读:
    学校重理论,公司重操作,计算机专业毕业生该何去何从?
    最简单的ajax示例
    几个简单的例子让你读懂什么是JAVA的堆栈跟踪
    避免在JSP中写java代码
    ==和equals()的区别
    测试,我误解了你
    项目管理十大TION法
    Web测试与APP测试有哪些异同?
    spring cglib 与 jdk 动态代理
    java.util.concurrent.Semaphore 使用
  • 原文地址:https://www.cnblogs.com/zhouguowei/p/15122853.html
Copyright © 2011-2022 走看看