主从数据库

Posted 那个少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主从数据库相关的知识,希望对你有一定的参考价值。

主从数据库

特点

  • 主从形式(一主多从,多主一从,级联复制)
  • 读写分离
  • 主从复制

主从复制

模式

  1. 异步模式
    主数据库增删改数据过程中,不会主动通知 Dump 线程去同步从库
  2. 半同步模式
    主数据库增删改数据过程中,会主动通知 Dump 线程去同步从库,并收到一台从库的返回信息后,才会 commit
  3. 全同步模式
    主数据库增删改数据过程中,会主动通知 Dump 线程,并等待所有从库返回信息后才 commit

bin log 记录格式(实现粒度)

  1. SBR(sql base replication)
    mysql5 之前版本,bin log 只记录会修改数据的 sql 语句,很大程度上减少日志文件的大小,节约 IO 读写和降低网络传输时间,提高性能。
    但从库同步时需要重新执行 sql;一些情况下,还会导致主从库数据不一致。
比如一个SQL语句调用了用户定义的函数,调用了返回随机值的函数,在数据表中使用了自增列,以及使用了上下文数据(context data, 比如用一个表的行数作为某个插入字段值,或者在update/delete语句中使用了limit子句)
  1. RBR(row base replication)
    bin log 只记录修改的行,修改成什么。从库同步直接调用存储引擎的接口进行增删改,不需要完整地进行 sql 语句的执行。
    但缺点在于日志文件会比较大, 并且修改数据量大时,同步需要的时间比较长
  2. MBR(mixed base replication)
    mysql 会根据执行的 sql 语句来决定采用以上两种的哪种方式来保存日志

优点

  • 读写分离,提高查询效率
  • 水平扩展数据库的负载,容错,保证高可用
  • 实时容灾,可故障切换
  • 数据备份

以上是关于主从数据库的主要内容,如果未能解决你的问题,请参考以下文章

MySQL主从配置

MySQL传统主从配置

MySQL的主从复制&主从同步

如何验证主从数据库数据内容一致

mysql主从

主从复制:主从复制的概述一主一从架构搭建主从复制的原理同步数据一致性问题