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

来源:互联网 发布:淘宝访问量怎么刷 编辑:程序博客网 时间:2024/05/20 23:38

分享主题

《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

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



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

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

例如:

- 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 DBA实战优化和Python运维开发两个课程,是业内最有良心、最有品质的培训课程。


目前MySQL DBA实战优化班第八期以及Python运维开发班第二期均在火热招生中,有兴趣的同学请发送 “开班” 或 “招生” 关键字即可获得详细信息。


更多关于知数堂培训招生请点击下面链接:

1、知数堂MySQL DBA在线培训第八期招生中

2、知数堂MySQL DBA培训大纲

阅读全文
0 0
原创粉丝点击