美文网首页
数据库主从复制

数据库主从复制

作者: 华木公子 | 来源:发表于2019-08-11 14:26 被阅读0次

一 通过binlog的方式来同步

二 从库binlog入库的是单线程(5.6版本前)

从库从主库同步binlog日志,写入relay日志,然后写入数据库,是单线程的。
在5.6版本之后,可以配置多线程IO读取。但写都是单线程的。

三 主从会延迟

从库写要比主库慢一点,当主库1000次/秒的写速度时,从库要比主库慢 几十毫秒。
如果主库达到了 4000次/秒,可能快撑不住了,此时从库会慢上几秒。

四 数据丢失问题

  • 现象:当数据写入binlog还没有同步到从库时,主库挂了,从库切换为主,则未同步的数据就会丢失。
  • 处理方案:mysql半同步机制。mysql提供了 semi sync 设置,打开这个设置,则一个数据写入binlog,并且在从库中也写入了数据库后,才返回ack,提示数据写入完成。

四 数据同步延迟问题

  • 现象:从库同步数据要比主库速度要慢一点点。
  • 处理方案:mysql并行复制机制。从库会开启多个线程对relay日志进行不同库的读取,然后写入不同的从库中。并行读写,提高效率(意义不大,提升很小,因为是按照库级别而不是表级别)。

五 数据时效性问题

因为数据主从同步会出现延迟,可能10ms,20ms,30ms。那么对于时效性要求非常高的,比如一写入要求马上读取出来的数据,建议还是直接从主库上直接读取(数据库中间件可以设置直连主库),一般不建议这样操作。
1 从库读取binlog开启多线程IO写到relay日志
2 从库开启并行复制从relay日志分库加载数据
3 代码编写尽量不要一写入就立刻查询
4 如果真的非常需要马上一写入就查询,可以开启中间件直连主库读,但不建议,违背主从复制
5 进行分库分表,降低主库压力,提高同步效率

相关文章

  • mysql 主从复制

    mysql 主从复制 网易数据库 石勇 提纲 什么是主从复制 主从复制的原理 主从复制的用途 主从复制的搭建 主从...

  • redis包含三种集群策略

    redis包含三种集群策略1,主从复制,2,哨兵3,集群 主从复制 在主从复制中,数据库分为俩类,主数据库(mas...

  • 浅析Mysql主从复制

    我们先从什么是主从复制说起。 什么是主从复制 简单来说,就是创建一个和主数据库一样的数据库,称为从数据库,从数据库...

  • MySQL集群篇

    1 集群之主从复制 1.1 主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群...

  • mysql的主从复制

    这篇文章从三方面描述:主从复制的用途?如何实现主从复制?主从复制原理? 一、主从复制的用途 用途一:数据库备份 。...

  • MySQL主从复制作用和原理

    一、什么是主从复制? 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的...

  • 八、AB复制

    一、什么是主从复制? 1、主从复制是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时...

  • 第十一章 mysql主从复制

    一、什么是主从复制? 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的...

  • docker 搭建mysql 主从

    mysql 主从复制 MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多...

  • MySQL主从复制

    什么是主从复制? 主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从数据库上,然后在从数据库上对这些日...

网友评论

      本文标题:数据库主从复制

      本文链接:https://www.haomeiwen.com/subject/toerjctx.html