测试
从库的错误日志:
Slave I/O thread: connected to master ‘rep@10.0.0.103:3306‘,replication started in log ‘mysql-bin.000006‘ at position 129434 Slave SQL thread initialized, starting replication in log ‘mysql-bin.000006‘ at position 129434, relay log ‘/usr/local/mysql/data/relay-bin.000012‘ position: 129644
主库的bin.00006末尾记录:
at 101750 161130 10:48:10 server id 103 end_log_pos 102098 CRC32 0x94677717 Write_rows: table id 73 flags: STMT_END_F at 102098 161130 10:48:10 server id 103 end_log_pos 102129 CRC32 0x153f102e
对比,可发现主库的006binlog截止到102098,从库的已指向129493。
主库的binlog不全。
原因:
此次是错误试验,执行的为插入1000条数据的过程,执行到一半时,强行关机。因此主服务器没有时间执行sync,导致binlog的数据丢失。但由于每插入一条记录,都有commit,所以主库和从库的数据库记录是一致的。
解决:
没有使用GTID,则在主库找到最接近从库记录的binlog位置,象在此列中,可以指定下一个binlog超始位置
stop slave; change master to master_log_file=‘mysql-bin.000007‘,master_log_pos=4; start slave;
stop slave reset master reset slave change master to master_host=‘10.0.0.103‘, master_user=‘rep‘,master_password=‘111111‘, master_auto_position=1; set global gtid_purged = ‘0e10a193-b5fc-11e6-b58c-5254008ee0d5:1-232‘; start slave
原文:http://11502523.blog.51cto.com/11492523/1891233