为了账号安全,请及时绑定邮箱和手机立即绑定
  • 两种复制类型,基于二进制日志,2:使用GTID完成基于事务的复制
    查看全部
  • 复制的基础是日志,日志的类型有三种
    查看全部
  • ing额呵呵呵呵呵呵
    查看全部
    1 采集 收起 来源:课程内容

    2017-07-01

  • 将基于事务复制变更为基于日志复制操作步骤: 1.stop slave; 2.change master to master_auto_position=0,master_log_file='file', master_log_pos=position; 3.set @@global.gtid_mode=on_permissive; 4.set @@global.gtid_mode=off_permissive; 5.select @@global.gtid_owned; #只有在所有服务器在空的情况下才进行下一步操作 6.set @@global.gtid_mode=off; #关闭基于事务复制配置,如果有在my.cnf文件中配置该项也需要更改
    查看全部
  • 将基于事务复制变更为基于日志复制 变更目的:在使用一些高可用工具时由于工具版本过老,不支持MySQL5.7的基于事务复制的时候需要将基于事务的复制变更为基于日志复制。还有一种情况是当第三方系统需要进行同步的时候可能由于第三方系统MySQL版本过旧不支持基于事务的复制,如果需要进行同步只能切换至基于日志复制。 先决条件:集群中所有MySQL服务器的版本均高于5.7.6,集群中所有服务器gtid_mode都设为on
    查看全部
  • 检查将binlog复制切换至gtid复制是否成功 1.当改为基于事务的复制后在performance_schema.replication_connection_configuration中的AUTO_POSITION字段的值应该会变成1 2.使用show slave status \G命令显示结果的Executed_Gtid_Set字段会显示一段sourceid:auto_position如果有显示这2个字段拼接的值则表示成功,如果Auto_Position值为1而Executed_Gtid_Set值为空尝试在master上插入一条数据,再看看slave是否存在。
    查看全部
  • 注意: 1.在执行完第一个步骤set @@global enforce_gtid_consistency=warn;之后需要查看一下mysql日志,看看有没有错误信息。 2.在设置set @@global.gtid_mode=off_permissive;时需要了解一下global.gtid_mode的几个状态值,以免以后操作 的时候出错。该变量一共有四个状态值,off(关闭)、off_permissive(关闭准备)、on(启动)、on_permissive(启动准备),这四个值需要按顺序执行,当在off的时候要变更为其他状态时应该遵循一下顺序off_permissive、on_permissive、on 3.在slave执行show status like 'ongoning_anonymouse_transaction_count';的目的是在于查看当前在执行匿名复制的数量,匿名复制是指当切换至使用gtid复制之后binlog复制方式就是匿名复制。如果该查询结果为Empty set (0.00 sec)或者为0则表示不存在anonymouse复制。有时候可能会出现交叉值,有时为0有时为Empty或者为null这些都是正常。如果出现大于0的值则表示当前存在基于binlog复制,需要等待slave复制完毕之后再进行下一步操作。如果还存在一些基于binlog备份的服务器则需要关停。 4.如果要保证MySQL每次重启都自动启用gtid则需要在my.cnf加入enforce_gtid_consistency=on;
    查看全部
  • 将基于binlog复制变更为gtid复制具体操作步骤: 1.set @@global.enforce_gtid_consistency=warn; 2.set @@global.enforce_gtid_consistency=on; 3.set @@global.gtid_mod=off_permissive; 4.set @@global.gtid_mode=on_permissive; 5.show status like 'ongoing_anonymous_transaction_count'; 6.set @@global.gtid_mode=on; 7.stop slave; 8.change master to master_auto_position=1; 9.start slave;
    查看全部
  • MySQL5.7支持2中复制类型一种为日志另一种为事务,变更复制类型是指随意切换这2中复制类型。 在线变更复制类型:变更复制类型之后无需重启master服务器(5.7版本新特性) 变更复制类型:变更复制类型之后需要将master服务器重启(5.6版本之前) 在线变更复制类型需要满足以下2个条件: 1.集群中所有服务器的版本均高于5.7.6 2.集群中所有服务器gtid_mode都设为off 之所以要将基于binlog复制变更为基于gtid复制是因为,gtid复制比基于binlog复制更安全,丢失数据的风险更低。
    查看全部
  • replication_applier_status(主从复制状态表): channel_name:该字段与replication_applier_configuration表中的channel_name含义一致 service_state:表示当前slave状态ON表示正在运行 remaining_delay: 该字段表示当前从节点距离下一次从主节点复制等待时长,只有在启用了master_delay之后才能体现。 count_transactions_retries:事务重试次数
    查看全部
  • replication_applier_configuration(主从复制配置表): channel_name : 复制链路名称,MySQL支持多链路复制,可以存在一条空字符串的channel_name,当存在多条复制链路时链路的channel_name都不能一样。 desired_delay :主从复制延迟,该字段用来配置当主进行操作之后延迟多少秒后才被复制到slave节点。 可以使用change master to master_delay=3600;命令来变更该值 使用以上命令的时候可能会出现以下错误信息: ERROR 3085 (HY000): This operation cannot be performed with a running slave sql thread; run STOP SLAVE SQL_THREAD FOR CHANNEL '' first. 该错误信息表示不能在slave SQL_THREAD运行状态下更改,需要先停用slave再执行该命令。 执行顺序为: stop slave; change master to master_delay=3600; start slave;
    查看全部
  • MySQL5.7新增了一些主从复制管理表/视图,在MySQL系统performance_schemal库中可以查看,使用show tables;命令展示所有的表,replication_开头的表/视图就是管理主从复制的。
    查看全部
  • 使用show slave status \G命令可以查看当前从机器状态,其中Slave_IO_Running、Slave_SQL_Running表示的是从节点当前的状态,如果这2个参数的值不为Yes则表示主从复制存在问题,可以使用start slave;命令开启,如果开启之后使用show slave status \G命令发现还不是Yes则说明存在问题。应该查看Slave_SQL_Runing_State参数值,该值描述了当前从节点运行状态,然后根据运行状态排查错误。
    查看全部
  • 使用mysqldump命令生成的备份文件中会包含change master命令,该命令包含了master上面的binlog文件名,以及日志文件index
    查看全部
  • mysqldump命令: --single-transaction :表示需要以单事务进行备份,保证备份数据完整性 --master-data=数字 :数字如果填1,那么备份文件中change-master命令不会被注销,填2则会注销文件中change-master命令
    查看全部

举报

0/150
提交
取消
课程须知
本课程需要对MySQL有一定的使用基础。
老师告诉你能学到什么?
1、了解MySQL复制基本原理 2、掌握基于日志点的复制配置方法 3、掌握如何在线变更复制类型 4、掌握多源复制的使用方法和场景 5、掌握多线程复制的使用方法和场景

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!