《MySQL 5.7 Replication新特性》分享之互动问题解答

原创 2016-07-21 宋利兵 MySQL中文网

分享主题

《MySQL 5.7 Replication新特性》

嘉宾介绍

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

主题介绍

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

Agenda

  1. GTID复制
  2. 多线程并发复制
  3. 半同步复制
  4. 多源复制
  5. 其他特性

这次的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的私有配置,都有考虑。

时间: 2024-10-08 12:03:49

《MySQL 5.7 Replication新特性》分享之互动问题解答的相关文章

《转》MySQL 5.7版本新特性连载

MySQL 5.7版本新特性连载(一) 本文将和大家一起分享下5.7的新特性,不过我们要先从即将被删除的特性以及建议不再使用的特性说起.根据这些情况,我们在新版本及以后的版本中,应该不再使用,避免未来产生兼容性问题. 本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化. 1.即将删除的特性1.1.InnoDB monitoring features,详见:WL#7377(访问地址:http://dev.mysql.com/worklog/task/?id=7377,下面的其他

mysql 5.6 的新特性:GTID 复制

mysql 5.6 的新特性: MySQL 5.6 包含了一个复制的新功能,enabling DevOps teams to reliably scale-out their MySQL infrastructure across commodity hardware, rel="nofollow">Global Transaction Identifiers (GTIDs)功能, 为了解决以下问题: -能够无缝的故障恢复和master与slave的切换 -能把slave指向新的

MySQL 5.7 GA 新特性

转载自: http://www.chinaxing.org/articles/Database/2015/10/23/2015-10-22-mysql-5.7.html Percona的一个测试,在MySQL5.7的情况下将innodb_page_size调整到4k,可以比16k性能提升70%以上:https://www.percona.com/blog/2016/08/10/small-innodb_page_size-performance-boost-ssd/ MySQL 5.7 GA 新

【MySQL】MariaDB10.2新特性--Flashback

MariaDB10.2新特性--Flashback Flashback可以回滚到旧的数据,用于解决用户误删除数据的问题. 实战例子 MariaDB [zsd]> select * from test; +------+-----------+ | id | name | +------+-----------+ | 1 | 张盛东 | | 2 | 刘忠浩 | | 3 | 胡轲 | +------+-----------+ 3 rows in set (0.001 sec) MariaDB [zs

Java8新特性分享

原文地址:http://www.importnew.com/19345.html |放在下面防止网站挂了..做个备份 1.简介 毫无疑问,Java 8是自Java  5(2004年)发布以来Java语言最大的一次版本升级,Java 8带来了很多的新特性,比如编译器.类库.开发工具和JVM(Java虚拟机).在这篇教程中我们将会学习这些新特性,并通过真实例子演示说明它们适用的场景. 本教程由下面几部分组成,它们分别涉及到Java平台某一特定方面的内容: 语言 编译器 类库 开发工具 运行时(Jav

【MySQL】MariaDB10.3新特性--闪回查询

MariaDB10.3新特性--闪回查询 System-Versioned表特性的引入,可以对表进行闪回.完成类似于Oracle的闪回查询. 修改已有表为System-Versioned MariaDB [zsd]> alter table test with system versioning; MariaDB [zsd]> select * from test; +------+-----------+ | id | name | +------+-----------+ | 1 | 张盛

es6新特性分享

1.字符串查找es5使用是indexOf() 返回字符第一次出现的位置int值es6新增了3个方法:includes()/startsWith()/endWith()返回bool值includes => 是否包含字符startsWith => 首字母是否包含字符endWith => 末尾是否包含字符 2.数值扩展Number.isInteger() => 判断一个值是否是整数Math.trunc() => 去除一个数的小数部分Math.sign() => 方法用来判断一

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 memcached API 直接访问 NoSQL2 1.4. 更好的复制2 1.5. Performance Schema2 2. MySQL 5.7.62 2.1. 内建中文全文索引2 2.2. 多主复制2 2.3. other2 3. 参考2 1. MySQL  5.6    5 大新特性 M

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 memcached API 直接访问 NoSQL2 1.4. 更好的复制2 1.5. Performance Schema2 2. MySQL 5.7.62 2.1. 内建中文全文索引2 2.2. 多主复制2 2.3. other2 3. 参考2 1. MySQL  5.6    5 大新特性 M