位置: 编程技术 - 正文

MySQL Semisynchronous Replication介绍

编辑:rootadmin

推荐整理分享MySQL Semisynchronous Replication介绍,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

MySQL 5.5版本之前默认的复制是异步(Asynchronous )模式的, MySQL 5.5 以plugins的方式提供了Semisynchronous Replication 模式。在介绍 semi sync 之前,我们先了解:半同步 Asynchronous 和 同步 Synchronous 。

异步复制模式

主库将已经提交的事务event 写入binlog后,即返回成功给app,该模式下并不保证任何已经提交的事务会传递到任何slave并被成功应用。

全同步复制模式。

当主库提交一个事务 event,主库会等待该事务被传递到所有的slave上,且所有slave applay 该事务/event 通知主库之后,才会返回回话,事务已经成功。

从定义中可以看出 异步模式不能保证数据的安全性,因为它不等待主库提交的事务在slave 上落盘,而全同步模式 由于要等待所有的slave 确认已提交事务成功被应用,如此则会带来事务处理上的延时。semi sync 则取了一个比较折中的方式,确保已提交的事务必须存在于至少两个机器(主库和任一备库),立即返回给客户端 事务成功。

一、Semisynchronous Replication 定义 Semisynchronous Replication模式下,在主库上提交一个事务/event,它会等待至少一个slave通知主库,slave 已经接收到传递过来的events并写入relay log,才返回给回话层 写入成功,或者直到传送日志发生超时。

MySQL Semisynchronous Replication介绍

二、优缺点

优点:当事务返回成功给客户端时,则事务至少在两台机器上存在,增强数据安全性。相比异步模式和全同步模式,是一种折中。 缺点:半同步的确会对数据库性能有一定影响,因为事务的提交必须等待slave 反馈。性能损耗取决于tcp/IP 网络传输时间,也即传输已提交事务和等待slave 反馈已经接收事务的时间。

三、MySQL 半同步的特性

1 当slave 连接主库时,它会告知主库它是不是semi sync 模式。 2 如果主库启用了semi sync模式,且至少一个slave 也启用了semi sync模式,一个在主库操作事务的进程在事务提交之后,且至少一个slave 通知主库成功接收所有事务之前,该进程会处于blocks 等待状态或者直到超时发生。 3 当且仅当传递过来的events 传递到slave,被写入relay log,刷新到磁盘才会通知主库完成。 4 Semisynchronous replication 必须在主备两端都同时启用,否则任何一个未设置,主备之间的复制模式将转变为异步复制模式。 5 当所有slave 在(rpl_semi_sync_master_timeout的默认值)时间内未返回给主库成功接收event,主备之间就会变回原来的异步状态。 其中关于第二点 MySQL 5.7 已经做了优化,由ack Collector (Col) thread 等待备库的成功接收事务的通知,这点后续会做详细介绍--《5.7 Semisync replication 增强》。

四、异常处理

当备库Crash时,主库会在某次等待超时后,关闭Semi-sync的特性,降级为普通的异步复制,这种情况比较简单。MySQL的 error.log 会提示:

比较难以处理的情况是:当主机/主库Crash时,可能存在一些事务已经在主库提交,但是还没有来的及传给任何备库,也即这些事务都是没有返回给客户端的,所以发起事务的客户端并不知道这个事务是否已经完成--"墙头事务"。这时,如果客户端不做切换,只是等Crash的主库恢复后,继续在主库进行操作,客户端会发现前面的"墙头事务"都已经完成,可以继续进行后续的业务处理;另一种情况,如果客户端Failover到备库上,客户端会发现前面的“墙头事务”都没有成功,则需要重新做这些事务,然后继续进行后续的业务处理,其实此时主备是不一致的,需要通过主备数据校验来检查哪一个库是正确的,然后进行修复。五、小结

总之相比于MySQL 5.5 版本之前的异步复制模式 semi sync 已经有了很大的进步,增强了数据的安全性,以安全换一定的性能损耗还是可以接受的。后续会介绍如何安装和使用semi sync。

MySQL中InnoDB的Memcached插件的使用教程 安装为了让文章更具完整性,我们选择从源代码安装MySQL,需要注意的是早期的版本有内存泄漏,所以推荐安装最新的稳定版,截至本文发稿时为止,最

探究MySQL中varchar的定义长度 UTF8字符集下:SQLcreatetabletest(idintauto_increment,namevarchar(),primarykey(id));SQLinsertintotestvalues(null,'');QueryOK,1rowaffected(0.sec)SQLinsertintotestvalues(null,'一二

MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究 今天有同学给我反应,有一张表,id是主键,这样的写法可以返回一条记录:SELECT*FROMtHAVINGid=MIN(id);但是只是把MIN换成MAX,这样返回就是空了:SELECT*FROMtH

标签: MySQL Semisynchronous Replication介绍

本文链接地址:https://www.jiuchutong.com/biancheng/347688.html 转载请保留说明!

上一篇:MySQL 5.7增强版Semisync Replication性能优化(mysql 5.7 8.0)

下一篇:MySQL中InnoDB的Memcached插件的使用教程(mysql数据库innodb)

  • 增值税进项发票怎么做账
  • 一般纳税人和小规模纳税人哪个合适
  • 所得税本期需要结转吗
  • 外币账户月末怎么结汇
  • 购货方收到红字发票
  • 持有至到期投资是什么意思
  • 营业收入少入0.02怎么办
  • 库存商品变价出现原因
  • 应收账款预付账款属于什么科目
  • 公司法人往对公账户存钱
  • 公司注销时资本要交税吗
  • 增值税普通发票几个点
  • 减税降费政策六税
  • 分拆业务所涉及客户
  • 应计入增值税一般纳税人认定标准的“年应税销售额”
  • 分公司税率怎样确定
  • 税收征管法实施细则 不予加收滞纳金
  • 来料加工进料加工是免税的吗?
  • 主营业务收入会计分录怎样写
  • 业务招待费有增值税吗
  • OS X Yosemite系统下载失败怎么办?OS X 10.10下载错误解决方法
  • 四种存款账户的定义
  • php讲解
  • 官网下载的iso怎么用u盘安装
  • 去年的发票忘记报销了 今年可以报销吗
  • 爱荷华州的首府
  • 在win10中如何设置在开始菜单中显示应用列表
  • win7电脑开启麦克风权限设置
  • 公司给员工发放的福利都要扣个税吗
  • 赊销商品属于什么信用
  • 房屋租金应缴纳多少
  • php closure类
  • 机器学习中的数据预处理方法与步骤
  • 企业汇算清缴发现之前收入记多了可以调整吗
  • 电商后台管理系统简介
  • 汇算清缴补交所得税怎么做凭证
  • 增值税增量留抵退税政策2019
  • 资质使用费怎么收
  • 企业合并属于非企业吗
  • 个人所得税的不同税率
  • 个体工商户税种及税率
  • 税务处理决定书和处罚决定书
  • 金融放贷工作具体做什么
  • 缔约过失是什么行为
  • 计入税金及附加的税种顺口溜
  • 银行多扣了钱法律是怎么判
  • 公司年底奖金怎么计算
  • 报表与账不符情况说明
  • 广告公司收到广告收入会计分录
  • 无形资产可以占多少比例
  • 出口退税账务处理
  • 单位内部部门之间人员调整
  • 营业执照经营范围怎么变更
  • mysql检查表是否存在
  • executesql 存储过程
  • 猛料高手
  • 让Windows XP、2003、2008自动登录的设置
  • centos如何禁ping
  • winxp系统怎么设置默认账户登入
  • 苹果电脑安装了双系统怎么恢复苹果系统
  • linux查看硬件信息的命令
  • Mac怎么去掉开机密码
  • 电脑windows8怎么样
  • cad90度角
  • <Unity3D>Unity3D GUI控件
  • Android自定义对话框
  • 在dos中文件是以什么目录结构
  • css滤镜特效属于css样式定义分类中的
  • js运行时错误
  • 解决在基层
  • Linux 中的Edquota命令
  • js可以实现网页中哪些效果
  • python中的编码
  • javascript中Date format(js日期格式化)方法小结
  • 跨年的增值税专用发票怎么冲红或者是作废
  • 国家税务总局石棉县税务局
  • 增值税进项税额抵扣凭证
  • 徐州房产过户手续流程
  • 深圳国税申报系统恢复数据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设