MySQL
已收录文章:95篇
-
MySQL 8.4 Clone Plugin 适合把一个实例的 InnoDB 数据快速复制到另一个实例,但它不是跨大版本备份工具。本文从插件安装、捐赠端授权、接收端发起 CLONE INSTANCE,到版本、引擎和恢复结果核对,整理一条可回滚的实例级恢复路径。186 收藏
-
批量处理订单时,不必因为一条异常记录回滚整批事务。本文用 MySQL SAVEPOINT 设计局部回滚边界,配合错误记录、有限重试和最终提交检查,给出可复现的 SQL 与上线排查清单。170 收藏
-
MySQL REGEXP_LIKE 匹配结果不稳定时,先拆开字符集、排序规则、大小写和反斜杠四个边界。本文给出一套可复现的排查 SQL、修复写法与验收清单。157 收藏
-
MySQL Enterprise Audit 默认全量记录时,审计日志很快会被健康检查和后台账号淹没。本文用 audit_log_filter_set_filter 按事件、用户和查询统计字段收窄范围,并给出安装前提、赋值、回滚与验收方法。145 收藏
-
MySQL 角色并不等于自动最小权限:默认角色、通配符授权和库级权限叠加后,账号可能读到不该读的数据。本文用实际授权链拆解越权路径,说明 partial revokes 的边界,并给出可回滚、可审计的验收清单。145 收藏
-
本文从大促库存扣减的热点行争用出发,分析单行库存模型的锁等待瓶颈,演进到分桶库存、汇总校验和灰度上线方案,并说明取舍与验证指标。141 收藏
-
读写分离最容易出问题的地方不是把查询发到副本,而是写后读、事务边界和主副本切换时的会话状态。本文用 MySQL 8.4 的 GTID 等待与路由规则,搭一套可核对、可回切的处理方法。135 收藏
-
数据库 · MySQL | 2个月前 | MySQL · 数据库 · SQL · MySQL VALUES() 弃用 ON DUPLICATE KEY UPDATE MySQL 行别名 INSERT AS new MySQL upsert INSERT SELECTMySQL 已将 ON DUPLICATE KEY UPDATE 中用 VALUES() 读取新行字段的写法标记为弃用。本文从库存快照写入场景出发,给出行别名 AS new 的最小改写、INSERT ... SELECT 的不同处理方式,以及上线前应核对的兼容边界。117 收藏
-
本文用一次报表接口超时故障复盘说明 MySQL 临时表打满磁盘的排查过程:从影响面、时间线、触发 SQL、根因定位到临时止血和防复发措施。114 收藏
-
把订单金额、状态和时间关系交给应用层校验,批处理或旁路写入仍可能留下脏数据。本文用 MySQL 8.4 CHECK 约束建立可落地的边界,演示新增约束前的存量检查、失败写入的错误定位、约束命名和回滚步骤,避免一次结构变更卡住发布。109 收藏
-
数据库 · MySQL | 1个月前 | MySQL · InnoDB · Purge Lag 长事务 InnoDB history list length information_schema.innodb_trx sys.innodb_lock_waitsInnoDB history list length 持续升高,通常不是单纯的写入变快,而是 purge 被长事务或历史读视图拖住。本文从监控现象出发,用 information_schema.innodb_trx、performance_schema 与 sys 视图定位阻塞源,再给出安全结束事务和复查回收速度的步骤。106 收藏