mysql的主从复制优缺点_MySQL主从复制原理,超级详细的总结,看完全通了

b5ab5600d25830e953121497a34d3072.png

主从复制的方式

主从复制分为:异步复制,半同步复制和全同步复制

异步复制: 是MySQL默认的复制模式,主库在执行完客户端提交的事务之后会立刻将结果返回给客户端,并不关心从库接收的结果,这样就会导致当主数据库因为某些原因宕机之后从数据库可能没有同步到主数据库的数据,导致主从数据不一致,甚者如果将从数据库强制转换为主数据库,可能导致数据丢失

优点:返回客户端无延迟

缺点:主从数据不一致,数据丢失

半同步复制: 半同步复制解决了主从数据库不一致的问题,原理是只有当至少一个从数据库接收到并且写入到read log 日志中之后才会返回给客户端接收结果,这样带来的问题是至少会带来一个 TCP/IP的往返时间的延迟

优点:保证主从数据库的最终一致性

缺点:返回客户端有延时

全同步复制: 当所有的从库接收到主数据库的数据并且执行完了其中的事务之后才会给客户端返回

优点:主从数据库的数据强一致性

缺点:耗费性能

并行复制: 就是在半同步复制的基础上从数据库会在内部有多个SQL线程去将relay log中的数据写入到数据库中,因为5.6x版本之前一直是单线程的,因此产生主从延迟的几率会很大,现在多线程处理之后,能最大可能的减少主从延迟的几率

主从复制的原理

数据库将用户的请求通过工作线程来将数据写入到数据库中然后在写入到 binlog 日志中

binlog日志详细记录了数据的操作信息

主数据库会有一个IO线程将binlog日志中的数据同步到从数据库的relay日志中

从数据库再通过自己数据库内的SQL线程将 relay log 日志中的数据写入到数据库中

5.6X版本之前SQL线程是单线程的,IO线程支持多线程操作

5.7X版本之后SQL线程也支持多线程

981dca59c2a96e56dd3e3d495c642921.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

canvas 插件_基于Angular的Canvas手写签名插件

灵感来源之前, 在轻流的业务中遇到了一个需求, 是能够让客户使用手写签名的功能. 签名演示问题来了, 这...我不会啊! 这得是Canvas了吧. 正所谓, 插件用的好, 下班走的早. 于是我就开始找插件了. 找到了一个ng生态的插件, 名字不记得了, 只记得他就一个核心文件, 封装了一个第三…

配置DNS服务器的需要修改的配置文件为,dns服务器配置教程

在WIN2003怎么安装部署DNS服务器(DNS服务是全称 域名服务器,是把域名地址主机名解析到网络地址的一项服务).下面是学习啦小编收集整理的dns服务器配置教程,希望对大家有帮助~~dns服务器配置教程工具/原料WIN2003 DNS组件 操作系统光盘安装添加DNS服务器角…

php源码怎样安装mysql_安装MySQL

三、mysql的安装,与php、Apache相结合打开下载的文件,双击运行,出现如下界面。mysql安装向导启动,按“Next”继续。选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项&#xff0…

python循环经典例题_python练习题:循环打印嵌套列表

好久没写博文了,添加一个练习题,选自《head_first_python》~~ python列表:以中括号开始和结束"[]";列表项以逗号","分隔开,使用赋值操作符""赋予一个标识符。如:…

开发测试服务器配置信息,node服务端中台实现及开发测试生产环境配置

本人node服务端新人一枚,网上找了不少资料,看了很多别人的配置信息,感觉都不是很合适,看的多了自己也明白配置的具体思路跟实现方式了,以下为我的实现方式。通过package.json里面的scripts配置命令行信息,然…

mysql数字前面有0_Mysql中前边有0的数据,0会被舍去的问题

最近由于项目的需求,需要频繁地拉取不同数据库中的数据,拉取数据的过程中,各种问题,十分悲催,真所谓,一个疏忽,你就要被推倒重来...在经历了无数次被推倒又站起来,然后又被推倒的艰苦…

狸窝音频剪辑软件_「附下载链接」常用的5款视频格式转换软件,收藏起来吧...

日常生活中,大家可能会自己制作一些记录生活的小视频,或者作为爱好上传到视频平台,就会用到很多种的视频格式,比如MP4、MKV、WMV、FLV、MOV、DV等等。因为有的视频网站需要特殊格式的视频才能上传,或者因为视频体积太大…

mysql 触发器 运算符_mysql三元运算,上下连表,视图,触发器,存储过程,事务等不常用方法...

1 MySql中的三元运算符有两种方法:1、case when 条件 then (条件为true时执行) else(条件为false时执行) end;/*end不可少*/2、select *,if(expr1,expr2,expr3) from 表名;实例:SELECT if(isnull(sum(c.MONEY)),0,sum(c.MONEY)) AS m1 FROM Table2 上下连…

求字典key的和python_python怎么将字典key相同的value值, 合并

python怎么将字典key相同的value值, 以逗号隔开,整为一行数据 源数据: test_dict1 {text: 50.00€ Rabatt fr Bestellungen ber 10.00€, strong_off: 50.00€, html_text: 50.00€ Rabatt fr Bestellungen ber 10.00€} test_dict2 {text:…

简单的mysql左链接_简单谈谈mysql左连接内连接

前言最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写业务: sql语句统计出入库数据。问题:只统计了X端入库单。原因: 没有发现X端的数据…

c语言 空格_C语言100题集合-ex003

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。喜欢的同学记得点赞收藏哦~1 题目函数:fun() 功能:统计一行字符串单词的个数,作为函数值返回描述:一行字符串在主函数中输入,规定…

go 默认http版本_【每日一库】超赞的 Go 语言 INI 文件操作

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言如果你使用 INI 作为系统的配置文件,那么一定会使用这个库吧。没错,它就是号称地表 最强大、最方便 和 最流行 的 Go 语言 INI 文件操作库:https:…

python程序设计第一章答案_Python《学习手册:第一章-习题》

人们选择Python的六大主要原因是什么? 软件质量:Python注重可读性、一致性和软件质量。Python代码的设计致力于可读性,因此具备了比传统脚本语言更优秀的可重用性和可维护性。 Python的一致性保证了其代码易于理解。 Python支持软件开发的高级…

redis数据丢失_有效避免数据丢失!Redis持久化方案选择详解

为什么需要持久化呢?通常情况下redis的数据全部存储在内存中,数据库一旦故障发生重启数据会全部丢失,即使是在redis cluster或者redis sentinel模式下主从同步数据的恢复仍然需要一段时间。持久化功能在于能够有效地避免因进程退出造成的数据丢失问题&am…

做python开发要用多大的内存_Python 在分配内存需要考虑的问题

由此能看出可变对象在扩充时的秘密:超额分配机制:申请新内存时并不是按需分配的,而是多分配一些,因此当再添加少量元素时,不需要马上去申请新内存 非均匀分配机制:三类对象申请新内存的频率是不同的&#x…

mysql审计 社区版有吗_mysql 5.6 社区版上审计功能,不扯皮

官网https://mariadb.com/kb/en/mariadb/about-the-mariadb-audit-plugin/一、环境说明MySQL 5.6.25 社区版Mariadb 10.0.25 社区版mysql 企业版有审计功能需要收费,社区版被阉割的不行不行了,和古时候的太监没啥区别了,比较重要的功能特性都…

python用outlook自动发邮件_Python 调用outlook发送邮件(转 )

单账号: import win32com.client as win32 def send_mail(): outlook win32.Dispatch(Outlook.Application) mail_item outlook.CreateItem(0) # 0: olMailItem mail_item.Recipients.Add(testtest.com) mail_item.Subject Mail Test mail_item.BodyFormat 2 # …

win10子系统ubuntu图形界面_win10系统中安装ubuntu子系统及图形界面

作为全球最流行且最有影响力的Linux开源系统之一,Ubuntu自发布以来在应用体验方面:有较大幅度的提升,即使对比Windows、MacoS等操作系统,最新版本的Ubuntu也不逊色。下面教大家在win10系统中安装ubuntu子系统及图形界面。第一步&a…

为什么python打开pygame秒关闭后在运行_当我运行Python程序时,pygame窗口打开片刻,然后退出 - python...

我是一个刚开始尝试通过在线课程使用python和pygame制作游戏的程序员。但是,当我运行以下代码时,pygame窗口将打开一秒钟,然后关闭。 import pygame pygame.init() screen pygame.display.set_mode((900,700)) finished False while finish…

es 时间字段聚合_ES之五:ElasticSearch聚合

1、单值聚合Sum求和,dsl参考如下:{"size": 0,"aggs": {"return_balance": {"sum": {"field": "balance"}}}}返回balance之和,其中size0 表示不需要返回参与查询的文档。Min求最小值{"…