MYSQL主从同步时Client requested master to start replication from impossible position的解决办法

MYSQL主从同步时出现"Client requested master to start replication from impossible position"错误的解决方法:
这个错误是因为从服务器请求一个错误的位置而引起的.比如主服务器上的BLIN LOG里没有这个POSITION.
解决原理:
从相关的BIN LOG 里最后一个日志位置,与从服务器上的日志对比,如果LOG里最后位置比错误的位置大,那么,说明中间可能有断点,需要把从服务器的位置向前调,多试几次.
如果在LOG里最后的位置比从服务器指出的位置还小,那么只要把从服务器的位置设置成LOG的最后位置就可以了.

mysqlbinlog mysql-log-bin.000112 >log.sql
tail -f log.sql
# at 568380594
#110616  3:10:16 server id 1  end_log_pos 568380757     Query   thread_id=123899        exec_time=0     error_code=0
use thecheap_topshoppinguscom/*!*/;
SET TIMESTAMP=1308226216/*!*/;
DELETE FROM `thecheap_topshoppinguscom`.`zm_sessions` WHERE expiry < 1308224416
/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

发现这个位置比从服务器上的位置(568397810)还小,只要设置成最后位置,然后启动SLAVE就可以了.
CHANGE MASTER TO
MASTER_LOG_FILE='mysql-log-bin.000112',
MASTER_LOG_POS=568380594;

 

感谢 LY'BLOG

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>