• 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启动而自动启动。

  • 相关阅读:
    Docker之Linux UnionFS
    Docker之Linux Cgroups
    Docker之Linux Namespace
    理解Docker容器的进程管理
    Docker命令详解
    协同过滤和基于内容推荐有什么区别?
    Docker 有什么优势?
    kubernetes
    Docker如何为企业产生价值?
    关于网页的几种高度说明
  • 原文地址:https://www.cnblogs.com/liang545621/p/9400031.html
Copyright © 2020-2023  润新知