故障分析
文章平均质量分 84
爱可生开源社区
成立于 2017 年,以开源高质量的运维工具、日常分享技术干货内容、持续的全国性的社区活动为社区己任;目前开源的产品有:SQL审核工具 SQLE,分布式中间件 DBLE、数据传输组件DTLE。
展开
-
故障分析 | 一条本该记录到慢日志的 SQL 是如何被漏掉的
虽然现在的 MySQL 数据库大多数部署在云上或者使用了数据库管理平台收集慢查询,慢查询日志可能不是首选的排查问题 SQL 的方法。但是对于没有额外配置慢查询监控的 MySQL,慢查询日志仍然是一个非常好的定位慢 SQL 的方法,配合工具使用分析某段时间的 TOP SQL 也十分方便。并且数据库管理平台收集的慢查询数据需要额外的数据库存放,一般都会设置保留一段时间,如果要回溯更早的慢 SQL 就只能通过慢查询日志了。原创 2023-05-16 17:15:51 · 537 阅读 · 0 评论 -
故障分析 | 租户 memstore 内存满问题排查
因为有可能转储或合并之后,某些 MemTable 表又发生了 DML 操作,插入了新的数据,这种情况下,mt_is_frozen = 0、mt_protection_clock!= 9223372036854775807 就是正常的了。排除这种情况之后,剩下的 MemTable 就是冻结异常的表。原创 2023-04-28 11:15:06 · 668 阅读 · 0 评论 -
故障分析 | 一次规律的 MySQL 主从延迟跳变
是的,从官方文档中我们可以看到,IO线程启动后,Seconds_Behind_Master在计算时确实会自动减去时间差,但很重要的一个前提是,这个时间差异在IO线程启动后"不会发生变化"。既然出现了规律性的变化,那么我们可以通过一个简单的命令来抓取Seconds_Behind_Master的值,观察是否与监控的曲线变化一致。第三,在进行时间校正时,如果时间差异过大,可以分多次进行缓步校正,即控制每次校正的时间幅度,而不是通过一次操作就校正为正确的时间,这样也可以在一定程度上降低对业务的影响。原创 2023-04-18 15:01:23 · 255 阅读 · 0 评论 -
故障分析 | 报错 ERROR 5270 -HY000-- object not in RECYCLE BIN 引发的几个思考
删除对象时,需要开启回收站,对象才会保存在回收站中;即使回收站关闭,我们也能看到回收站中的对象;即使回收站关闭,我们也能操作(闪回/清除)回收站中的对象;回收站中可以保存同名的对象,根据ORIGINAL_NAME闪回时,会闪回最新删除的对象,历史对象还会保存在回收站中;把对象从回收站中删除时,因为需要使⽤OBJECT_NAME(唯⼀属性),所以只会命中⼀条记录;原创 2023-04-18 14:55:44 · 713 阅读 · 0 评论 -
故障分析 | 数据库服务器内存不足一例分析
作者:付祥现居珠海,主要负责 Oracle、MySQL、mongoDB 和 Redis 维护工作。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2023-04-18 14:47:57 · 683 阅读 · 0 评论 -
故障分析 | MySQL 备份文件静默损坏一例分析
为了确保备份有效,需要做如下改进:1、flock给脚本执行加互斥锁,确保一个时间点只有1个进程运行。2、定期做备份恢复演练。3、增加crond进程监控,不等于1告警。原创 2023-03-21 14:18:44 · 333 阅读 · 0 评论 -
故障分析 | Redis 主从复制风暴
Redis 主从架构下,使用默认的异步复制模式来同步数据,其特点是低延迟和高性能。当 Redis master 下有多个 slave 节点,且 slave 节点无法进行部分重同步时, slave 会请求进行全量数据同步,此时 master 需要创建 RDB 快照快照发送给 slave ,从节点收到 RDB 快照到开始解析与加载。原创 2023-03-21 14:19:13 · 297 阅读 · 0 评论 -
故障分析 | 我都只读了,你还能写入?
本文简短,主要是给没遇到该情况的同学提醒下,需要注意FLUSH的一些管理命令语句会被写入read_only状态下的从库binlog,从而造成主从GTID不一致;还有就是ClickHouse在同步数据时,某些情况会写入FLUSH TABLE,在使用ClickHouse需要注意(因没CK环境,此条没经过验证,有CK使用经验的同学可自行验证,评论回复如果还有其他语句会造成这种现象,也可以评论分享一下,大家一起注意下。原创 2023-03-13 13:50:31 · 322 阅读 · 0 评论 -
故障分析 | redis cluster 从库无法自动恢复同步案例一则
作者:任坤现居珠海,先后担任专职 Oracle 和 MySQL DBA,现在主要负责 MySQL、mongoDB 和 Redis 维护工作。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2023-02-16 13:52:04 · 1032 阅读 · 0 评论 -
故障分析 | MySQL 相同 SQL 不同环境执行时间不一样案例分析
书写SQL时,心里要明白哪种执行计划是最优的,比如多张表关联时,是否可以适当利用标量子查询、排除干扰驱动表选择因素,使执行计划简单稳定。原创 2023-02-13 14:17:31 · 1607 阅读 · 0 评论 -
故障分析 | MySQL convert 函数导致的字符集报错处理
运维中为避免字符集引起的报错问题,有如下建议可供参考:(具体参数值根据业务需求选择)创建数据库实例时需指定参数 character_set_database(默认值:utf8mb4),character_set_server(默认值:utf8mb4)。当需要创建非默认字符集 database / table 时,需要在 sql 中明确指定字符集和排序规则。使用convert函数转换字符集时,当字段排序规则不是转换后字符集的默认排序规则,需要指定具体的排序规则。原创 2023-02-09 11:00:15 · 1503 阅读 · 0 评论 -
故障分析 | MySQL convert 函数导致的字符集报错处理
运维中为避免字符集引起的报错问题,有如下建议可供参考:(具体参数值根据业务需求选择)创建数据库实例时需指定参数 character_set_database(默认值:utf8mb4),character_set_server(默认值:utf8mb4)。当需要创建非默认字符集 database / table 时,需要在 sql 中明确指定字符集和排序规则。使用convert函数转换字符集时,当字段排序规则不是转换后字符集的默认排序规则,需要指定具体的排序规则。原创 2023-02-09 10:53:51 · 577 阅读 · 0 评论 -
故障分析 | Redis AOF 重写源码分析
简单来说,AOF 重写就是根据当时键值对的最新状态,为它生成对应的写入命令,然后写入到临时 AOF 日志中。在重写期间 Redis 会将发生更改的数据写入到重写缓冲区 aof_rewrite_buf_blocks 中,于重写结束后合并到临时 AOF 日志中,最后使用临时 AOF 日志替换原来的 AOF 日志。当然,为了避免阻塞主线程,Redis 会 fork 一个进程来执行 AOF 重写操作。我知道你很急,但是你先别急,在了解AOF重写流程之前你会先遇到第一个问题,那就是如何定义AOF重写缓冲区。原创 2023-02-07 10:30:43 · 629 阅读 · 0 评论 -
故障分析 | Greenplum Segment 故障处理
作者:杨文DBA,负责客户项目的需求与维护,会点数据库,不限于MySQL、Redis、Cassandra、GreenPlum、ClickHouse、Elastic、TDSQL等等。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2023-02-02 13:22:03 · 933 阅读 · 0 评论 -
故障分析 | cassandra 集群数据故障转移
作者:杨文DBA,负责客户项目的需求与维护,会点数据库,不限于MySQL、Redis、Cassandra、GreenPlum、ClickHouse、Elastic、TDSQL等等。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2023-01-16 13:22:21 · 899 阅读 · 0 评论 -
故障分析 | 库表名-大小写不规范,运维两行泪
作者:刘聪爱可生华东交付服务部 DBA 成员,专职 MySQL 故障处理及相关技术支持。座右铭:好好学习,天天向上。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2023-01-16 13:20:35 · 563 阅读 · 0 评论 -
故障分析 | MySQL死锁案例分析
作者:杨奇龙网名“北在南方”,资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2023-01-05 13:38:34 · 446 阅读 · 0 评论 -
故障分析 | MySQL 主从延时值反复跳动
作者:徐文梁爱可生DBA成员,负责客户项目的需求和维护。目前在数据库新手村打怪升级中。喜欢垂钓,如果你也喜欢垂钓,可以约个晴好天气,咱们一边钓鱼一边聊聊数据库,岂不快哉。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2023-01-05 13:20:05 · 328 阅读 · 0 评论 -
故障分析 | Cassandra 用户信息 list Error
节点(Node):运行Cassandra实例的服务器;机架(Rack):一组相互靠近的Cassandra节点;数据中心(Data Center):指逻辑机架的集合。1)哪个数据中心创建的用户和角色,哪个数据中心才能list查看,list只能查看自己数据中心创建的用户/角色,看其他数据中心的用户/角色就只能通过间接的方式看到;2)由于两个数据中心都创建了用户/角色,所以系统分不清哪个用户/角色是哪个数据中心创建的,所以就都不让看;3)删除角色/用户时,只能由创建它的数据中心进行删除;原创 2022-12-15 15:01:36 · 879 阅读 · 0 评论 -
故障分析 | MySQL死锁案例分析
作者:杨奇龙网名“北在南方”,资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2022-12-15 14:59:33 · 582 阅读 · 0 评论 -
故障分析 | MySQL死锁案例分析
作者:杨奇龙网名“北在南方”,资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2022-12-15 14:59:19 · 614 阅读 · 0 评论 -
故障分析 | MySQL 使用 load data 导入数据错误的一个场景
作者:刘晨网名 bisal ,具有十年以上的应用运维工作经验,目前主要从事数据库应用研发能力提升和技术管理相关的工作,Oracle ACE ,腾讯云TVP,拥有 Oracle OCM & OCP 、EXIN DevOps Master 、SCJP 等国际认证,国内首批 Oracle YEP 成员,OCMU 成员,《DevOps 最佳实践》中文译者之一,CSDN & ITPub 专家博主,公众号"bisal的个人杂货铺",长期坚持分享技术文章,多次在线上和线下分享技术主题。本文来源:原创投稿。原创 2022-12-08 15:48:16 · 1648 阅读 · 0 评论 -
故障分析 | replace into 导致主备不一致
本章内容通过一个例子说明 replace into 带来的潜在的数据质量风险,当涉及 replace into 操作的表含有自增主键时,主备切换后会造成数据覆盖等不一致的情况发生。在主库上操作此时检查主备库上 t1 的表结构都是一样的,AUTO_INCREMENT 都是2.在主库上进行 replace into 操作此时检查主备库中 t1 表结构,请注意 AUTO_INCREMENT=4从库上 t1 的表结构 ,AUTO_INCREMENT=2分析表 t1 的表结构 AUTO_INCREMENT原创 2022-12-06 17:16:19 · 192 阅读 · 0 评论 -
故障分析 | Greenplum 数据状态异常处理
客户在巡检时,发现 Greenplum 虽然正常运行,但有些数据的状态异常。我们知道 Greenplum 的数据是存在主段和镜像段上的,当 primary 数据异常,会自动的启用 mirror 数据。当然为了保证数据的高可用,还是要及时修复异常数据。可以看到42个数据节点中有11个数据节点处于 down 状态;分别去down掉的节点中去查看数据文件(此处我们只取一个节点进行展示对比):可以发现都缺少了 postmaster.pid 文件。为了看的更清楚,我们找一个状态正常的节点查看对比:说明:很多人说原创 2022-12-06 17:15:32 · 676 阅读 · 0 评论 -
故障分析 | Greenplum 集群 standby 故障处理
客户测试环境Greenplum集群中,standby节点数据目录被误删除,导致standby节点不可用。如果此时由于其它各种原因导致master节点也不可用,则集群将无法对外提供服务,因此现需尽快恢复standby节点。1)库由Master Severs和Segment Severs组成。2)Master Server:3)Segment Severs:3.1、本地Greenplum集群环境:3.2、模拟master standby坏掉:4、故障分析及解决:4.1、检查状态:可以看到:Standby原创 2022-12-06 17:11:02 · 728 阅读 · 0 评论 -
故障分析 | OceanBase Proxy 无法连接 OBserver 集群
使用RPM的方式部署proxy实例,部署之后使用OBclient进行连接,报错提示:ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading authorization packet’, system error: 11OceanBase是企业级开源分布式 HTAP(Hybrid Transaction/Analytical Processing)数据库,具有原生分布式架构,支持金融级高可用、透明水平扩展、分布式事务、多租户和语法兼容等企原创 2022-12-06 17:08:44 · 1151 阅读 · 0 评论 -
故障分析 | MySQL锁等待超时一例分析
作者:付祥现居珠海,主要负责 Oracle、MySQL、mongoDB 和 Redis 维护工作。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2022-11-16 14:55:32 · 1007 阅读 · 0 评论 -
故障分析 | DROP 大表造成数据库假死
TiDB 是一款定位于在线事务处理/在线分析处理的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。详细架构见:https://docs.pingcap.com/zh/tidb/stable/tidb-architecture从 TiDB 4.0 版本开始,TiUP 作为新的工具,承担着包管理器的角色,管理着 TiDB 生态下众多的组件,如 TiDB、PD、TiKV 等。原创 2022-11-16 14:23:12 · 689 阅读 · 0 评论 -
故障分析 | MySQL 节点宕机分析一例
我们很幸运,在对应的时间点,有错误日志信息。而且可以明确的是,切换原因就在这段错误日志信息当中。对比后续版本MySQL 8.0.28和MySQL 8.0.18差异,可以看到MySQL8.0.28中已经去掉了对应ut_a(!根据bug描述,可以看到此bug触发的原因是在MySQL 8.0.18版本,并行读没有考虑到存在的树结构变化的场景。做事认真,对事负责。原创 2022-11-01 13:41:58 · 426 阅读 · 0 评论 -
故障分析 | 命令行登录 MySQL 报 Segmentation fault 故障解决
作者:林浩DBA ,专注于 MySQL ,擅长问题分析解决。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。前段时间遇到一个 mysql 客户端 crash 的问题,这个 mysql 客户端是自己源码编译产生的。为了解决这个问题,查阅了很多资料,涉及终端 ncurses 编程、进程的地址空间(堆和栈)、cmake、gcc 编译等,遇到不少“陷阱”,好在算是比较好的解决了这个问题。原创 2022-10-31 14:42:52 · 761 阅读 · 0 评论 -
故障分析 | MySQL 启动遭遇 Permission denied 失败案例一则
作者:任坤现居珠海,先后担任专职 Oracle 和 MySQL DBA,现在主要负责 MySQL、mongoDB 和 Redis 维护工作。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2022-10-31 14:10:28 · 1751 阅读 · 0 评论 -
故障分析 | 从一则 MGR 异常切换案例,看系统时间对 MGR 的影响
作者:李锡超一个爱笑的江苏苏宁银行 数据库工程师,主要负责数据库日常运维、自动化建设、DMP平台运维。擅长MySQL、Python、Oracle,爱好骑行、研究技术。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。原创 2022-10-11 10:26:00 · 845 阅读 · 0 评论 -
故障分析 | 密码使用特殊字符
1.新建用户及登录用户时如果密码存在特殊字符需要注意特殊字符会被解析成其它字符,需加上单引号或加上转义字符\。2.在 MySQL 5.7.33 与 MySQL 8.0.23 版本前使用 login-path 时密码存在"#"时,配置时输入密码需要加上双引号。原创 2022-10-11 10:12:44 · 1398 阅读 · 0 评论 -
故障分析 | pt-archiver 归档丢失一条记录
在不久前有位客户在进行数据迁移时发现。自己使用pt-archiver备份时总是会少一条数据;如源数据库中某表数据为2333,导入目的数据库后select结果只有2332。于是本篇文章就此展开,因为这个问题在先前研究过,我这里就直接先上结论后实验了。原创 2022-09-28 10:51:32 · 408 阅读 · 0 评论 -
故障分析 | ClickHouse 物化视图插入时间变为“1970-01-01 08:00:00”问题复盘
物化视图使用to指定了存储的表,所以物化视图的创建也不需要指定 engine ,在查询中,查物化视图和查实际的存储表得到一样的数据,因为都是来自于同一份存储数据。物化视图是计算每次写入原表的数据,经过聚合之后写入到目标表。原创 2022-09-14 13:39:18 · 1222 阅读 · 0 评论 -
故障分析 | MySQL 无监听端口故障排查
最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。原创 2022-09-08 15:35:59 · 1087 阅读 · 1 评论 -
故障分析 | Redis Cluster 分片内存异常使用不均问题诊断
作者:任仲禹爱可生 DBA 团队成员,擅长故障分析和性能优化,文章相关技术问题,欢迎大家一起讨论。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。...原创 2022-08-29 14:21:26 · 978 阅读 · 0 评论 -
故障分析 | xtrabackup 多表备份报错“ too many open files ”
1)在非root用户下使用xtrabackup备份时,用户的open files值需要大于备份时打开的文件数量。建议设置的值比配置文件中的open_files_limit参数值大,确保备份用户的open files是够备份时打开的文件数量。可在/etc/security/limits.d下修改nofile的值永久生效,也可以直接在用户下ulimit -n 修改open files 使其临时生效。# 修改用户的soft、hard的nofile值永久生效# 或者登录到用户下ulimit -n临时生效。...原创 2022-08-17 13:43:56 · 489 阅读 · 0 评论 -
故障分析 | Sql_slave_skip_counter 使用不规范对复制的影响
规范使用 sql_slave_skip_counter ,如果操作不当,极有可能跳过其他 events ,并造成主从数据不一致。如果数据库数据量较小,大约60G左右,建议重做复制。数据量超过60G大小,可以在 sql_slave_skip_counter 跳过之前,看一下当前 binlog event group 执行了哪些操作。对于1032、1062错误尽量修补数据,让复制进程在从库应用变更。...原创 2022-08-09 14:12:21 · 521 阅读 · 0 评论 -
故障分析 | MySQL Router:服务器后端那么闲,为什么不让访问?
测试发现 8.0.29 和 8.0.30 版本的 router 都会有此问题。8.0.28 和 8.0.21 版本的 router 经过测试是不存在此问题的,其他版本有兴趣的可以测试一下。可能和 router 8.0.29 版本的新功能 ‘Added connection pooling functionality to reuse server-side connections’ 有关系。最后,因个人能力有限,如有错漏之处,敬请指正。...原创 2022-08-08 11:30:22 · 1183 阅读 · 2 评论