09 2020 档案
摘要:最近在做mysql备份恢复演练,这里记录一下使用Innobackupex冷备数据恢复过程,以防以后忘记: 1. 对最近的一次全量备份数据进行恢复: innobackupex --user=backup --password=**** --apply-log --redo-only /data2/ba
阅读全文
摘要:最近在开发中使用了for range来遍历一个slice,结果在测试的时候遇到了bug,最后定位是错误使用for range造成的,这里记录一下: func redisSlaveScanBigKeys(slaveClient *redis.Client, bigKeyChan chan *bigKe
阅读全文
摘要:partial page write问题: 默认情况下,innodb的一个页面时16k大小,其数据校验也是针对这16k来校验的,将数据写入磁盘是以页面为单位的。文件系统是以4k为单位写入的,机械磁盘是以扇区【512字节】为单位写入的,因此不能保证一个16k的页面原子性写入。如果在刷新脏页的时候系统宕
阅读全文
摘要:今天使用pt-osc修改mysql表结构,又出现死锁了,老大让尽量解决这个问题,我们先分析一下pt-osc容易出现死锁的原因,再来解决这个问题。 根据pt-osc打印的日志,可以看到pt-osc执行原理:1. 创建一个跟原表表结构一样的新表;注意:这里的新表是一个临时表 _table_new2. 修
阅读全文
摘要:上周末晚上运营做直播,业务代码不规范,访问1个redis竟然把1台服务器的网卡打满了,这台服务器上的其他redis服务都受到了影响。之前没有做这方面的预案,当时又没有空闲的机器可以迁移,在当时一点办法都没有,尴尬啊,就这样拖到了直播结束。结束后做复盘,leader对数据库这边要求必须对数据库使用服务
阅读全文