主从数据库
Posted 那个少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主从数据库相关的知识,希望对你有一定的参考价值。
主从数据库
特点
- 主从形式(一主多从,多主一从,级联复制)
- 读写分离
- 主从复制
主从复制
模式
- 异步模式
主数据库增删改数据过程中,不会主动通知 Dump 线程去同步从库 - 半同步模式
主数据库增删改数据过程中,会主动通知 Dump 线程去同步从库,并收到一台从库的返回信息后,才会 commit - 全同步模式
主数据库增删改数据过程中,会主动通知 Dump 线程,并等待所有从库返回信息后才 commit
bin log 记录格式(实现粒度)
- SBR(sql base replication)
mysql5 之前版本,bin log 只记录会修改数据的 sql 语句,很大程度上减少日志文件的大小,节约 IO 读写和降低网络传输时间,提高性能。
但从库同步时需要重新执行 sql;一些情况下,还会导致主从库数据不一致。
比如一个SQL语句调用了用户定义的函数,调用了返回随机值的函数,在数据表中使用了自增列,以及使用了上下文数据(context data, 比如用一个表的行数作为某个插入字段值,或者在update/delete语句中使用了limit子句)
- RBR(row base replication)
bin log 只记录修改的行,修改成什么。从库同步直接调用存储引擎的接口进行增删改,不需要完整地进行 sql 语句的执行。
但缺点在于日志文件会比较大, 并且修改数据量大时,同步需要的时间比较长 - MBR(mixed base replication)
mysql 会根据执行的 sql 语句来决定采用以上两种的哪种方式来保存日志
优点
- 读写分离,提高查询效率
- 水平扩展数据库的负载,容错,保证高可用
- 实时容灾,可故障切换
- 数据备份
以上是关于主从数据库的主要内容,如果未能解决你的问题,请参考以下文章