时间:2021-07-01 10:21:17 帮助过:30人阅读
异步复制:主库执行完DDL/DML操作后发送给从库,此时主库认为此次操作成功,无论从库是否完成复制。
主库写完binlog后从库还没有开始或完成复制,导致主从数据暂时不一致。若此时主库宕机则从库将丢失部分数据;若此时从库被升为新的主库则整个数据库将永久丢失部分数据。
半同步复制:主库执行完DDL/DML操作后发送给从库,当其中一个从库完成复制并返回成功信息后,主库才认为此次操作成功。
主库只需等待一个从库的回应,且超时时间可以设置,超时后自动降级为异步复制。
同步复制:主库执行完DDL/DML操作后发送给从库,当所有从库都完成复制并返回成功信息后,主库才认为此次操作成功。
主库必须等待所有从库,延迟较大。
延迟复制:从库延迟一段时间再从主库复制。
组复制:
清除所有binlog.index文件中包含的binlog文件,并将binlog.index文件清空,然后从.000001开始创建一个新的binlog文件
此外还会将gtid_purged和gtid_executed这两个变量清除
与 PURGE BINARY LOG 语句的区别在于,PURGE 语句不会清空binlog.index文件,因此还会接着编号继续创建binlog文件;当slave正在复制时,使用 RESET MASTER 语句是不安全的
清空slave_master_info,slave_relay_log_info两个表中数据,并清空relay log目录(删除所有的relay log),使slave忘记在master上进行复制对应的binlog文件position。在执行前需要使用 STOP SLAVE 停止slave的复制
MySQL同步机制
标签:忘记 半同步复制 停止 区别 manual 指定位置 stop str 是否一致