您好,登录后才能下订单哦!
如何分析skip-slave-start的重要性,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一次问题解决过程
原来做复制的主机因为数据丢失需要重新创建复制环境,机器上已经有了主库数天前的备份,于是删除数据目录直接把备份放上去,结果发现复制没有抱错,show slave status一切正常,select count(*)某张大表也是不断增加,但是查询该表的max id确迟迟不动。
于是把这条最大的数据拿出来看,发现数据是今天的。而slave的同步信息显示才读取到2天前的binlog而已。
这台机器既做slave又做master,设置了
log-bin
log-slave-updates
环境比较复杂,一开始猜想是不是环境设置问题造成的,但是检查回来没啥问题,再仔细想想。猜到问题原因,问了下,果然是没有删除master.info造成的,因为默认Mysql的slave会随数据库启动而启动,因此mysql就直接从当前位置开始读取,造成读取了几条今天的数据,而后因为change master把复制的信息重置了,因此光从max id看就是没有变化而数据却在实际增加,等到了这几条数据就会报1062违反重复的错误。所以为了安全期间,复制环境的数据库还是设置--skip-slave-start参数,防止复制随着mysql启动而自动启动。
看完上述内容,你们掌握如何分析skip-slave-start的重要性的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。