1.异步复制
异步复制是主库更新数据,然后写一条binlog数据,commit之后,异步把binlog发给从库,如果主库宕机之后,可以使用mysqlbinlog工具去查看binlog的数据,拿出来执行就可以了,如果配置了HA高可用,高可用的应用就会把binlog的数据同步到从库.可以通过sync_binlog参数控制binlog频次刷新到磁盘
2.多线程异步复制
多个线程异步复制
3.半同步复制
半同步复制就是主更新一条数据,然后写一条binlog,主库commit提交,然后把binlog发给从,至少有一个从库落库并应答,,返回确认信息给客户端.这样可以保证至少两台机器备份有数据,可以通过参数.rpl_semi_sync_master_wait_for_slave_count配置.