。MySQL 5.5.9版本的stop slave, 不一定2个线程都能成功stop, 可以stop 两次,另外注意把监控配置文件注释掉,否则1分钟内会把同步拉自动拉起
。统计慢查询时,只统计最近几天就可以了,统计过去的1,2个月的慢查询是毫无意义的,MyShard的/data/yy/log/slow.log有专门记录慢查询日志的地方,比下去看挂载的MySQL实例更直观
。领导逻辑是,如果看到监控有慢查询,那证明DBA木有推动业务改慢查询
。为什么要记录每个建表需求和对应的业务到wiki上? 为了停业务或慢查询时能尽快找到人
。用清晰的理由,去否定不合理的需求,让别人明白因果就可以了
。MyShard , 停止同步进行维护之前,需要确保业务停止写入,否则业务写入的数据不会同步到其他节点,会出事故,如充值延迟到账,无论业务催得多紧急,都需要一步步走流程,否则锅自己背。同理myshard需要等同步追完没有延迟,才能给业务使用
。为了方便,相同业务下的一套数据库账号密码都是一样的,不同业务,密码不同
。MySQL用update方法修改mysql.user密码表,需要flush privilegs才能生效
。业务机器与DB机器在同机房,延迟小,跨机房,延迟大,因为网络质量不好,腾讯的机房很好,不用考虑跨机房网络问题。
。谁难受谁推动,每天的建表授权需求都是这么多,如果做了数据库自动运维系统,最大受益者是我,如果迟迟不做,最后辛苦的,一个个节点手打代码建表的还是自己,真正想要做时才用了4天时间,以前4个月一直都是手敲代码
。为什么写脚本,需要拆分成N个函数,而不是一个main函数囊括所有事情呢? 为了测试方便,逐个函数进行测试
。python在打印字符串时,把变量用str()转为字符串,已防数字类型变量报错
。key-value键值对格式是通用得的,比如web的json,redis的存储方式,python的字典格式