分享主题

《MySQL 5.7 Replication新特性》

嘉宾介绍

宋利兵,MySQL研发工程师。2009年加入MySQL全球研发团队,从事MySQL复制相关功能的开发。

主题介绍

主要分享在MySQL 5.7中,Replication(复制)相关的一些新特性,比如多源复制、增强半同步复制、并行复制等。

Agenda

GTID复制

多线程并发复制

半同步复制

多源复制

其他特性

这次的PPT、录音我也同时放到百度云盘里了,欢迎下载转存。百度云盘链接: http://pan.baidu.com/s/1gfNR7NH 密码: adqm 。

互动问题解答

由于篇幅有限,我们选择了10个比较有代表意义的问题进行解答。

问1:多源复制下,支持master是5.6,slave是5.7吗?

答:可以的

【老叶补充】非常不建议跨大版本的MySQL Replication。

问2:半同步复制设置N个slave应答,如果当前Slave小于N会怎样?

答:取决于rpl_semi_sync_master_wait_no_slave的设置。

- rpl_semi_sync_master_wait_no_slave = 0

会立刻变成异步复制。

- rpl_semi_sync_master_wait_no_slave = 1

仍然等待应答,直到超时。

问3:gtid 如果出现不支持的语句,怎么解决

答:从应用中去掉不支持的语句/事务:

例如:

- CREATE TABLE ... SELECT

可以该为:

CREATE TABLE

INSERT ... SELECT

问4:基于GTID的复制,可以指定GTID复制的起始位置么,还是只能根据现有的信息?

答:GTID复制就是为了摆脱对binlog文件名和位置的依赖。所以不能指定复制的起始位置,也完全没有必要指定。

问5:对一个已经开启GTID的数据库再做一个从库,先把Master备份下来还原到新slave上去,直接可以同步了还是先需要做purge_gtid的操作再同步呢?

答:需要设置gtid_purged。整个过程可以通过mysqldump完成。

请参考手册:http://dev.mysql.com/doc/refman/5.7/en/replication-gtids-failover.html#replication-gtids-failover-copy

问6:线上全是5.5的环境,有没有办法搭建5.5到5.7的复制?

答:可以,但不能开启gtid功能。

【老叶补充】非常不建议跨大版本的MySQL Replication,更何况是垮了2个大版本,最好是先进行升级。

问7:并行复制logical_clock,如果不开启gtid是不是就不能并行了?

答:不开启gtid,也能使用logical_clock并行复制。

问8:在主从复制过程中,是主向从推数据还是从拉数据,如果这个传送的过程中,出现网络闪断,会不会造成数据包丢失,会执行校验重传嘛?

答:Slave 的IO线程发起到Master的连接。

然后master开始发送events,slave只是被动的接收。

slave和master之间使用的是tcp 连接。tcp是可靠的连接。网络丢包等都是tcp层自动处理的。

mysql不需要处理。

如果slave长时间不能收到一个完整的Event,或者接收event时出错。slave

会进行相应的处理。

如果slave认为,重新建立连接能解决问题。slave则自动的断开原来的连接,然后重新连接到master去。

如果slave认为,这个错误无法自动解决,slave会停掉io线程,并报错。

问9:设置了binlog_group_commit_sync_delay参数,在宕机的时候应该不会影响binglog文件安全吧?

答:不影响

问10:多源复制是只能在异步模式下使用么?因为半同步的状态是全局的,一个通道关闭会导致其它通道出错,有没有考虑将半同步状态改成每个channel的私有配置呢?

答:只有一个通道可以开启seimsync,其他的都要使用异步通道。不光是Semisync,异步通道的状态也要改成每个channel的私有配置,都有考虑。

宋利兵 mysql_《MySQL 5.7 Replication新特性》分享之互动问题解答相关推荐

  1. 复制源码大师宋利兵谈MySQL 8.0的复制改进,大赞

    特邀嘉宾 宋利兵 Oracle原厂研发工程师 10年MySQL复制核心源码研发 近十年来,宋老师一直在MySQL复制团队从事MySQL复制的研发工作,参与了MySQL-5.7以来大部分复制新功能的开发 ...

  2. 前沿分享|阿里云数据库高级技术专家 宋利兵:阿里云企业级自治数据库RDS详解

    简介:本篇内容为2021云栖大会-企业级云原生数据库最佳实践论坛中,阿里云数据库高级技术专家 宋利兵关于"阿里云企业级自治数据库RDS详解"的分享. 本文将从2方面为大家介绍企业级 ...

  3. 宋利兵 mysql_MySQL数据库InnoDB存储引擎Log漫游(3)

    做者:宋利兵html 来源:MySQL代码研究(mysqlcode)mysql 0.导读 本文重点介绍了InnoDB的checkpoint和Buffer Pool管理算法 04 – Checkpoin ...

  4. rhel6系统中,mysql 5.6复制新特性下主从复制配置[基于GTID]

    1.mysql5.6在复制方面的新特性: (1).支持多线程复制:事实上是针对每个database开启相应的独立线程,即每个库有一个单独的(sql thread).针对这样的改进,如果我们想实现多线程 ...

  5. mysql query browswer_MySQL数据库新特性之存储过程入门教程

    MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用 ...

  6. 【MySQL】MySQL5.6新特性之Index Condition Pushdown

    一 概念介绍     Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式. a 当关闭ICP时,inde ...

  7. MySQL 5.1.40新特性及下载

    MySQL是现在最流行一个多线程的,结构化查询语言(SQL)数据库服务器.绝大多数PHP网站的数据库后台都是采用这一数据库. MySQL 的执行性能非常高,运行速度非常快,并非常容易使用.是一个非常捧 ...

  8. mysql sdi_MySQL 8.0新特性: 数据字典

    一.概述 数据字典(Data Dictionary)中存储了诸多数据库的元数据信息,包括基本Database, table, index, column, function, trigger, pro ...

  9. mysql5.7 json特性_【Mysql】Mysql5.7新特性之-json存储

    一 写在前面 本系列文章基于 5.7.12 版本讲述MySQL的新特性.从安装,文件结构,SQL ,优化 ,运维层面 复制,GITD等几个方面展开介绍 5.7 的新特性和功能.同时也建议大家跟踪官方b ...

最新文章

  1. VS2015+openGL配置
  2. using bgp data to find spammers
  3. Visual C# 2008+SQL Server 2005 数据库与网络开发--9.1.1 SQL Server 2005中的XML功能
  4. linux apu 分辨率,编写xorg.conf 简单三行解决Ubuntu分辩率不可调的问题
  5. centos6.9系列LNMP环境的安装
  6. 苹果发布 macOS 12——Monterey
  7. Ad-Hoc Query入门
  8. Android自定义控件之app标题栏的封装
  9. Permission denied:通过共享复制,与打包后解压,目录权限不一样
  10. 单片机lcd1602程序 c语言,单片机I2C通信及LCD1602显示C程序
  11. 音视频Share系列2---基于H.265的编码技术优化实战
  12. 在ENVI5.3 下基于GLT/IGM文件的几何校正具体过程
  13. python里lambda是什么_Python中lambda指的是什么
  14. 校内题目T2695 桶哥的问题——吃桶
  15. 【THREE源码解析篇】THREE.Sprite详解
  16. 关于网络渗透的过程以及感想记录
  17. 嵌入式tomcat的不使用web.xml原理分析
  18. 个人网站学习实践(wordpress教程)
  19. 层次路由与路由选择协议
  20. 《程序员养成记》第1集 做程序员需要天赋吗?

热门文章

  1. JavaOne 2012 – 2400小时! 一些建议
  2. 我如何向团队解释依赖注入
  3. ActiveMQ网络连接器
  4. 靖江机器人怎么样_铁饭碗不保?靖江可能消失的12大职业!快看有你的工作没?...
  5. python if语句能否判断中文_Python“if”语句被忽略
  6. 不需要软著的安卓应用市场_哪些安卓应用市场上架应用比较简单啊,不需要软著啊?公司开发的 APP 着急上架...
  7. python语言中的单行注释语句_Python 1基础语法一(注释、行与缩进、多行语句、空行和代码组)...
  8. edmonds算法matlab,匈牙利算法的matlab实现
  9. git gui 历史版本_这些Git命令都不会,还是不要去面试了
  10. C语言 | 链表概述