发版日期:2026 年 9 月 15 日
平凯数据库 v7.1.9-0.3 是 7.1.x LTS 版本线的重要增强版本。本版本重点完善物理复制在故障切换、复制推进、状态扫描和应急运维等场景下的能力,增强最小权限治理、MySQL 兼容性、数据迁移同步和集群升级体验,并修复多项影响查询正确性、复制稳定性和数据导入的缺陷。
本版本重点聚焦:
- 物理复制故障恢复、性能和稳定性增强
- 最小权限治理与连接链路可观测性增强
- MySQL 兼容性、优化器与统计信息增强
- TiCDC、Lightning 和 Dumpling 能力增强
- TiUP 升级与补丁运维增强
- 缺陷修复与第三方依赖安全治理
企业版功能增强
物理复制增强
- 支持强制 Failover。当系统无法确认原 primary 已完全离线、普通 Failover 无法执行时,管理员可以在 standby 集群显式执行 ADMIN ACTIVATE STANDBY FORCE,以 FLASHBACK 方式完成强制激活。该操作会跳过部分远端状态检查,但不会跳过本地角色和状态合法性检查。
警告:使用 FORCE 前必须确认原 primary 已彻底停机或完成网络隔离。否则可能形成双主并产生不可逆的数据分叉;强制激活还可能回退尚未形成一致性快照的数据。
- 新增 PD 配置项 log-replication.auto-suspend-all-store-down-duration。当全部 Replicator Store 持续不可用达到配置时长后,系统自动暂停物理复制;默认值为 5m,设置为 0s 或负数可关闭自动暂停。
- 自动识别并清理副本集群中已经进入 Tombstone 状态或元数据已删除的失效 Store,避免无效 Replicator Store 长期影响复制拓扑、状态汇总和调度判断。
- 增强 Replicator Store 故障检测和生命周期管理:
- 支持通过 pd-ctl 应急暂停或删除复制链路。当 TiDB SQL 入口不可用时,管理员仍可使用 log-replication pause 或 log-replication drop 管理异常复制链路。
- 支持配置 TiKV Replicator RPC 线程池大小。新增 replicator.rpc-pool-size 配置项,默认值为 4,便于根据集群规模和复制负载调整 RPC 资源;同时统一物理复制相关线程标识,提升线程级资源诊断能力。
- 优化大规模集群中的 Safe TS 更新链路。通过批量查询 Region、按 Store 聚合并合并相邻 Range、批量发送更新以及优化服务端区间处理,减少 Region Cache 查询、RPC 数量和区间合并开销,提升复制状态推进效率。
- 物理复制状态扫描使用基于 Region 一致性快照的专用扫描能力。扫描过程能够正确处理 Region Split、Merge、Leader 变化及 Region Error,并支持按 Region 分批和分页读取,提高补数等流程中的正确性和稳定性。
- 优化物理复制 Flashback。系统在回退前识别目标时间点后未发生变化的 Region,并跳过不需要回退的范围,降低大规模集群 Flashback 的扫描量、执行时间和 TiKV 资源消耗;无法可靠获取可跳过范围时,自动回退为完整 Flashback,以保证数据恢复正确性。
权限治理与连接可观测性
- 新增全局动态只读权限 ADMIN_VIEW。获得该权限的用户可以执行 ADMIN SHOW DDL、ADMIN SHOW DDL JOBS 和 ADMIN SHOW DDL JOB QUERIES,无需获得 SUPER 权限。ADMIN_VIEW 不授予普通 DDL、DDL Job 取消、暂停、恢复或其他管理能力。
- 新增全局动态只读权限 IMPORT_JOB_VIEW。获得该权限的运维或巡检账号可以通过 SHOW IMPORT JOBS 和 SHOW IMPORT JOB 查看所有用户创建的 Import Job;该权限不授予执行 IMPORT INTO 或取消其他用户导入任务的能力。
- PROXY Protocol 场景下支持同时查看客户端地址和代理地址。INFORMATION_SCHEMA.PROCESSLIST 和 INFORMATION_SCHEMA.CLUSTER_PROCESSLIST 新增 PROXY_HOST 列;HOST 继续展示协议透传的客户端地址,PROXY_HOST 展示直接连接 TiDB 的代理地址。未使用 PROXY Protocol 时,该列为 NULL。
MySQL 兼容性与 SQL 使用优化
- 支持修改带索引字符字段的字符集和排序规则。通过 ALTER TABLE ... MODIFY COLUMN 或 ALTER TABLE ... CHANGE COLUMN 修改 CHAR、VARCHAR 字段时,可以同时重建受影响的普通二级索引、唯一二级索引和复合二级索引,减少 MySQL DDL 经 DM 同步到平凯数据库时因兼容性限制而中断的情况。
- TIME 列与 Prepared Statement 裸参数比较时,增强 MySQL temporal 类型推导兼容性。当 JDBC/MyBatis 使用 Timestamp 类型绑定参数,并与 TIME 列进行二元比较时,系统可参考 TIME 操作数推导参数类型,避免迁移后出现查询结果差异。显式转换为 DATETIME 或 TIMESTAMP 的表达式仍按其明确类型处理。
- 慢日志支持保留多行 SQL 的原始换行语义,以 \n 形式记录换行位置,避免包含 -- 行注释的 SQL 被压缩成单行后无法直接还原或复现。
优化器、Plan Cache 与统计信息
- 优化 Prepared INSERT 和 UPDATE 的 Plan Cache 参数类型检查。对于符合条件、直接写入目标列且不影响访问路径选择的参数,系统可按目标列类型执行转换并复用缓存计划,减少因客户端绑定类型变化产生的不必要 Cache Miss。该行为默认开启,可通过 tidb_enable_plan_cache_dml_param_type_match 控制。
- 优化多分区、多列场景下的统计信息收集,减少空分区或无数据变化分区带来的不必要处理开销,改善大规模分区表执行 ANALYZE 和自动统计信息收集时的耗时。
- 支持通过全局参数配置统计信息 TopN 数量阈值。用户可以根据热点值、长尾分布和表规模调整后续 ANALYZE 生成的 TopN 数量,以提升部分场景下的基数估算准确性;默认配置保持升级前行为。
数据迁移与同步增强
- Dumpling 和 TiDB Lightning 支持从加密密码文件读取数据库连接密码,避免在命令行或配置文件中保存明文密码。该能力使用独立密钥文件在运行时解密,并对文件权限、配置冲突和解密失败进行校验。
- TiCDC 支持将 TiDB Sequence 对象及其状态同步到下游 TiDB。该能力默认关闭;将 Changefeed 配置项 filter.ignore-sequence-sync 设置为 false 后,可同步 Sequence DDL、状态及相关发号操作,支持 NO CYCLE 和 CYCLE Sequence,并降低主备切换后重复发号的风险。
TiKV 内存管理
- TiKV 启动时自动识别物理机总内存、cgroup v1/v2 内存限制和 NUMA 可用内存,并取三者中的最小值作为有效内存上限及相关默认内存配置的计算基线,降低受限部署环境中因高估可用内存导致 OOM 的风险。用户显式配置的内存参数仍具有更高优先级。
TiUP 集群运维
- tiup cluster upgrade 支持通过 --role 选择本次升级的组件,并通过 --confirm-each-instance 在每个实例升级前进行交互式确认。用户可以继续、跳过当前实例或停止剩余升级,便于在关键业务环境中分阶段控制滚动升级。
- tiup cluster patch 新增 --post-patch-script,支持在每台服务器完成补丁替换并重启服务后执行自定义检查脚本,便于在继续处理下一节点前验证服务状态。
缺陷修复
物理复制
- 修复 MAXIMUM_AVAILABILITY 模式下同步复制阻塞达到 DEGRADE_TIMEOUT 后,降级超时可能未及时生效的问题。
- 修复同步模式切换时 checkpoint lag 门禁未按配置生效、部分 Peer 尚未应用新配置便提前报告完成,以及旧心跳快照可能导致复制关系版本回退的问题。
- 修复初始化完成后进度状态未及时清理,导致状态展示长时间停留在初始化阶段的问题。
- 修复源 PD 不可用时 Replicator 启动长时间重试并阻塞后续 pause、stop 和配置变更的问题。
- 修复复制心跳中断后 checkpoint lag 停止增长,导致状态查询和监控持续低估真实复制延迟的问题。
- 修复副本初始化期间 PD 重启时,恢复 scheduler/checker 暂停状态可能触发异常或暂停提前失效的问题。
- 修复级联复制拓扑中的 workflow、状态查询和心跳转发缺少完整路径检查,可能形成转发环路的问题。
- 修复 Region 进度采样可能领先于目标端数据实际落盘,导致 catch-up 使用过早进度的问题。
- 修复跨多个目标 Region 的写入任务在 Region Merge 或 Epoch 变化后可能因旧 Stream 残留而持续等待、复制进度卡住的问题。
- 修复物理复制初始化等流程连接 TiFlash 时使用错误 RPC 地址,导致上传请求持续返回错误并卡住进度的问题。
- 修复 A→B→C 级联复制拓扑中,执行加索引等操作时中间集群可能因 TiFlash 上传请求错误而卡住的问题。
TiCDC 与数据同步
- 修复 TiCDC 独立部署且通过 TiGateway 连接时,HTTP Transport 配置可能污染全局默认 Transport,导致 follower 向 owner 转发的普通请求错误经过 TiGateway 并被拒绝的问题。
- 修复 TiCDC 新架构批量同步期间频繁提交 redo log,导致对象存储请求压力和处理延迟增大、同步延迟上升的问题。
- 修复 TiCDC 独立部署并开启 TLS 后,经 TiGateway 负载映射的连接可能无法建立的问题。
数据导入
- 修复 TiDB Lightning 使用 GB18030 转换 CSV 数据时,特定多字节字符恰好位于缓冲区边界可能触发 Panic、导致全量导入中断的问题。
- 修复 IMPORT INTO ... FROM SELECT 在无显式主键表的部分场景中可能错误跳过 KV,最终出现数据缺失和 checksum 不一致的问题。
SQL 正确性、优化器与 Plan Cache
- 修复关联子查询执行计划为 Apply → Limit → IndexJoin 时,IndexJoin 可能复用上一轮未消费的执行状态,导致 NOT EXISTS 等查询返回错误结果的问题。
- 修复使用 NO_DECORRELATE() Hint 时,特定关联子查询可能出现结果不一致或数据缺失的问题。
- 修复 IndexJoin Inner Table 行数估算使用 Join 后行数,可能错误偏向主键路径并选择较差执行计划的问题。
- 修复组合索引包含虚拟列且缺少列统计时,exp-backoff 可能跳过高选择性条件并导致基数估算不准确的问题。
- 修复 COALESCE 表达式无法使用 Plan Cache,导致包含该表达式的整条 SQL 无法命中缓存的问题。
- 修复 Prepared UPDATE 的 SET 值变化时可能无法命中 Plan Cache 的问题。
- 修复 TiDB 重启时先按默认 64 MiB 初始化 Binding Cache、后读取用户配置配额,可能导致部分 Binding 被淘汰且无法自动重新加载的问题。
- 修复 TIME 列与通过 JDBC/MyBatis 绑定的 DATETIME/TIMESTAMP 参数比较时,时间类型推导与 MySQL 不一致并可能导致查询结果变化的问题。
- 修复 CREATE TABLE ... AS SELECT 从带 TiFlash 副本的源表读取、且查询使用 MPP 计划时,内部会话缺少 ProcessInfo 可能触发空指针错误的问题。
集群部署与运维
- 修复敏捷模式两节点集群开启 TLS 后,健康检查错误使用 etcd Peer URL,可能导致探活失败和启动阻塞的问题。
- 修复 Fusion 集群使用 tiup cluster scale-in --force 清理永久离线的绑定 TiDBX 节点时,仍被 replication.max-replicas 校验阻止的问题。普通缩容继续保留副本安全校验。
安全与依赖治理
- 更新 TiDB、TiKV、PD、TiCDC、TiFlash、TiUP、TiFlow、client-go、kvproto、TiDB Dashboard、Monitoring 和 ng-monitoring 等数据库及运维组件的多项第三方依赖,处理已识别的高危及严重等级安全问题,并完成误报或不适用项的核验。
- 更新 TEM、TEM UI、TMS 和 TMS Suite 等配套组件的多项第三方依赖,增强配套管理工具的安全性。
兼容性与使用说明
- ADMIN_VIEW 和 IMPORT_JOB_VIEW 均为需要管理员显式授予的全局动态权限,升级后不会自动授予已有用户。相关查询结果可能包含完整 SQL、对象名称、数据源地址及错误信息,应遵循最小权限原则授权。
- ADMIN ACTIVATE STANDBY FORCE 始终使用 FLASHBACK,不能与 MODE = FORCE_COMMIT 组合使用。该操作可能带来数据回退或双主风险,只应在灾难恢复且普通 Failover 无法完成时使用。
- filter.ignore-sequence-sync 默认值为 true,升级后不会自动开始同步 Sequence。启用前应确认上下游 TiDB 与 TiCDC 版本配套,且下游必须为受支持的 TiDB。
- 加密密码文件和密钥文件必须配套使用,且不能与非空明文密码配置混用。相对路径以工具进程的工作目录为基准;应使用严格的操作系统文件权限妥善保护密钥文件。
- --confirm-each-instance 需要交互式终端;在非 TTY 环境中会回退为非交互式升级。交互模式可能产生临时混合版本,升级前应确认所选组件的版本兼容性。
- 修改带索引字符字段的字符集或排序规则可能触发数据重组和索引重建。大表应在业务低峰期执行,并预留足够资源;若转换后产生唯一键冲突、非法字符或索引键超长,DDL 将失败。
- 调大统计信息 TopN 数量可能增加统计信息存储、ANALYZE 和统计信息加载开销,应根据实际数据分布设置合理值。