Tag

#数据库

包含这个标签的文章。

数据库 60 阅读

PostgreSQL 连接池耗尽:从 idle in transaction 到事务边界治理

## 适用场景 应用运行一段时间后,新请求开始等待数据库连接,接口 P99 持续升高,最终出现连接池获取超时或 PostgreSQL `too many connections`。数据库 CPU、磁盘 I/O 和慢 SQL 指标却不高,重启应用后又能短暂恢复。 这类现象经常不是“连接池太小”,而是业务代码开启事务后

阅读全文
系统运维 98 阅读

MySQL 主从复制延迟持续扩大:从现场取证到并行复制治理的排查实践

## 适用场景 本文适用于 MySQL 8.0 或已启用 GTID 的 MySQL 5.7 主从/主备架构:监控显示 `Seconds_Behind_Source` 持续增长,报表、读库或故障切换的恢复点开始不可接受。目标是先确认延迟真实原因,再在不破坏复制一致性的前提下恢复追平。 ## 现象描述 一次订单促销后

阅读全文
系统运维 159 阅读

MySQL binlog 突增吃满磁盘:从定位大事务到安全清理的排查实践

## 适用场景 MySQL 主库所在分区持续增长,`/var/lib/mysql` 已接近 100%,业务开始出现写入失败、事务提交变慢,甚至因为磁盘写满而触发只读保护。检查目录后发现大量 `mysql-bin.000xxx` 文件,但不能直接删除:binlog 仍可能被复制从库、增量备份或审计流程使用。 本文适用

阅读全文
系统运维 289 阅读

MySQL 死锁频发:从现场取证到有边界重试的排查与治理实践

## 适用场景 业务接口偶发返回 `Deadlock found when trying to get lock`(错误码 1213),订单、库存、账户余额或状态流转等事务写入失败;重试后通常成功,但高峰期错误数明显上升。本文以 InnoDB 为例,给出一套可在生产环境执行的取证、定位和治理流程。 死锁不是数据库“

阅读全文
系统运维 285 阅读

MySQL 联合索引顺序不匹配导致慢查询的排查与优化实践

## 适用场景 业务表按租户、状态和创建时间查询列表。数据量从几十万增长到千万级后,接口 P95 延迟突然升高;应用监控中数据库耗时占比明显增加,但 CPU 和磁盘利用率并不一定很高。 本文以常见的订单列表为例,说明如何确认“建了索引却没有用好”的联合索引问题,并在不影响线上写入的前提下完成优化。 ## 现象描述

阅读全文