一次MySQL存储空间撑爆的故障处理和分析

在一次对线上系统的压测过程中,数据库突然变成了只读状态。我们看了一下,是因为空间在短时间内,被撑爆了。云上的rds数据库,如果在空间打爆的情况下,确实会变成只读的情况。 我们这个业务,做了中美数据拆分,美国的数据库是在aws上,中国的数据库是在阿里云上,跑同样的一套逻辑。 可以看到,在短时间内: a […]

Continue Reading

阿里云关于MySQL数据库myisam的支持

最近在做一个阿里云跨账号的数据库迁移,这个库是和论坛相关的,用的是Discuz程序,数据库中有一张myisam表,用于记录帖子和楼层。

这里可以看到tid是帖子号,floorid是楼层,这里用了一个myisam的复合索引第二列作为自增 […]

Continue Reading

数据库序列的监控

需要监控数据库的序列,在达到最大值前,进行告警。特别是mysql,往往因为字段的定义和auto incremental的定义不同,导致各自的上限不同。 Oracle:

SQL Server: [crayon-673ef9d5c4afd […]

Continue Reading

隐式转换检查

数据库中是隐式转换往往是性能的杀手,下面2个语句分别可以在sql server和oracle查询到目前在内存中的,使用了隐式转换的SQL: sql server 隐式转换:

oracle隐式转换: [crayon-673ef9d5c5 […]

Continue Reading

aws RDS 版本升级最佳实践的探讨

这篇文章其实在草稿箱中存在了挺长的一段时间,去年10月就已经开始写了,但是由于工作上的其他事情的干扰,一直还没写完。所以你可以看到我画的图中,now其实是指2018年10月(OCT)。趁着过年休假,把这个文章终于写完了。 aws rds被强制升级是个无奈的事情,版本不支持,而被强制升级会影响业务可用 […]

Continue Reading

SQL Server报错The datediff function resulted in an overflow

zabbix的监控有一个报错:

经检查,这个报错,调用的是下面的一个监控:

这个监控脚本,是用来监控发生在temp上的pagelatch_up的争用。监控脚本中,包含了 […]

Continue Reading

centos 7中配置keepalived日志为别的路径

keepalived 安装:

由于在默认状态下keepalived的日志会写入到/var/log/message中,我们需要将此剥离出来。 在centos 6下可以:

[…]

Continue Reading

pg数据库授权表给只读用户之后,权限慢慢消失

越来越多的互联网企业在使用postgresql数据库,我们也不例外。 昨天开发请我建立了一个只读用户abc_tmp_test用户,并且将mkl_rw用户下的32个表授权给只读用户用。ok,请简单轻松的一个需求,很快就完成了。 但是今天开发来和我说,昨天授权的几个表中,有部分表还是没有权限去读取,让我 […]

Continue Reading

pg的跨库查询

mysql和mssql的跨库查询,基本只需要dbname.schema.table_name就可以实现,而pg的跨库查询,和oracle一样,需要通过类似dblink的方式来实现。pg在9.3之前建议使用dblink,在9.3之后,建议使用postgres_fwd(foreign-data wrap […]

Continue Reading