mysql事务在提交后才发送给数据库执行_mysql事务隔离级别

1,mysql的主从复制

主从复制概念:是指数据可以从一个mysql数据库服务器主节点复制到一个或者多个从节点.mysql默认采用异步复制的方式.

主从复制的主要用途:1)读写分离:在实际开发中,如果遇见某sql语句需要锁表,导致暂时不能使用读服务,这样会影响现有业务,这种情况下使用主从复制,让主数据库负责写,从数据库负责读,这样可以保证业务正常运作 2)数据实时备份:当系统中某个节点发生故障时,可以方便的故障切换 3)高可用HA  4)架构扩展:随着系统业务访问量增大,单机部署数据库可能会有I/O访问频率过高问题.有了主从复制,增加多个数据存储节点,将敷在分布在多个从节点上,降低单机磁盘I/O访问频率,提高单机的I/O性能

mysql主从形式: 1)一主一从 2)一主多从 3)多主一从(将多个数据库备份到一台存储性能比较好的服务器上) 4)双主复制 5)级联复制:级联复制模式下,部分slave的数据同步不连接主节点,而是连接从节点。因为如果主节点有太多的从节点,就会 损耗一部分性能用于replication,那么我们可以让3~5个从节点连接主节点,其它从节点作为二级或者三级与从节点连接,这样不仅可以缓解主节点 的压力,并且对数据一致性没有负面影响

mysql主从复制原理:涉及三个线程,一个运行在主节点(log dump thread),其余两个(I/O thread,SQL thread)运行在从节点

96a6fe04ccd4ede4dcaa7f9307594e6c.png

log dump thread:当从节点连接主节点时,主节点会创建一个log gump线程,用于发送bin-log的内容.在读取bin-log中的操作时,log-dump thread会对主节点上的bin-log加锁,当读取完成,甚至在发送给从节点之前,锁会被释放.

I/O thread:当从节点上执行 "start slave"命令后,从节点会创建一个I/O线程用来连接主节点,请求主库中更新的bin-log。I/O线程接收到主节点binlog dump 进程发来的更新之后,保存在本地relay-log中。

SQL thread:SQL线程负责读取relay log中的内容,解析成具体的操作并执行,最终保证主从数据的一致性

当主节点有多个从节点时,主节点会为每一个当前连接的从节点建一个binary log dump 进程,而每个从节点都有自己的I/O进程,SQL进程。从节点用两个线程将从主库拉取更新和执行分成独立的任务,这样在执行同步数据任务的时候,不会降低 读操作的性能。比如,如果从节点没有运行,此时I/O进程可以很快从主节点获取更新,尽管SQL进程还没有执行。如果在SQL进程执行之前从节点服务停 止,至少I/O进程已经从主节点拉取到了最新的变更并且保存在本地relay日志中,当服务再次起来之后,就可以完成数据的同步

复制的基本过程如下:

从节点上的I/O 进程连接主节点,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;主 节点接收到来自从节点的I/O请求后,通过负责复制的I/O进程根据请求信息读取指定日志指定位置之后的日志信息,返回给从节点。返回信息中除了日志所包 含的信息之外,还包括本次返回的信息的bin-log file 的以及bin-log position;从节点的I/O进程接收到内容后,将接收到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值