一、祖传的master_log_file + master_log_pos的复制方式面临的问题:
在很久以前 那个时候我还没有出道,mysql就已经就有复制这个功能了。如果要告诉slave库从master二进制日志的哪个
地方开始复制,就要通过change master to 的master_log_file & master_log_pos 参数来指定。但是这个有个问题,就
是在slave出现问题后,slave要从那个地方开始重新同步呢?这个时候就比较小心了,因为show slave status 中对于文件
名和位置的返回有三组。
Master_Log_File: mysql-bin.000052Read_Master_Log_Pos:190Relay_Log_File: 74cstudio-relay-bin.0000031Relay_Log_Pos:355Relay_Master_Log_File: mysql-bin.000050Exec_Master_Log_Pos:77
如果dba在重新同步时指定的master_log_file + master_log_pos 参数不对,那么就会引起数据的不一致,而且这个不一致还
不太好发现。
二、gtid出现了:
1、有了gtid了之后对于重新同步时slave从哪里开始同步master的binlog不在由dba来管了,省心了!
2、有了gtid了之后只要对比一下master和slave上的gtid数据量就可以知道master和slave是否一致了!
三、gtid这么吊 怎么建立一个基于gtid的复制呢?:
根据官方文档要把复制方式从master_log_file + master_log_pos