title: TiDB 5.1.1 Release Notes
TiDB 5.1.1 Release Notes
发版日期:2021 年 7 月 30 日
TiDB 版本:5.1.1
兼容性更改
TiDB
- 对于从 v4.0 升级至 v5.1 的集群,
tidb_multi_statement_mode
的默认值为OFF
。建议使用客户端库的多语句功能,参考tidb_multi_statement_mode
文档 #25751 - 将系统变量
tidb_stmt_summary_max_stmt_count
的默认值从200
修改为3000
#25874 - 访问
table_storage_stats
表需要SUPER
权限 #26352 - 访问
information_schema.user_privileges
表需要mysql.user
上的SELECT
权限来显示其他人的权限 #26311 - 访问
information_schema.cluster_hardware
需要CONFIG
权限 #26297 - 访问
information_schema.cluster_info
表需要PROCESS
权限 #26297 - 访问
information_schema.cluster_load
表需要PROCESS
权限 #26297 - 访问
information_schema.cluster_systeminfo
表需要PROCESS
权限 #26297 - 访问
information_schema.cluster_log
表需要PROCESS
权限 #26297 - 访问
information_schema.cluster_config
表需要CONFIG
权限 #26150
- 对于从 v4.0 升级至 v5.1 的集群,
功能增强
TiDB Dashboard
- 新增 OIDC SSO 支持。通过设置兼容 OIDC 标准的 SSO 服务(例如 Okta、Auth0 等),用户可以在不输入 SQL 密码的情况下登录 TiDB Dashboard #3883
TiFlash
- 支持 DAG 请求中的
HAVING()
函数
- 支持 DAG 请求中的
改进提升
TiDB
- Stale Read 成为正式功能 (GA)
- 避免对
paramMarker
的分配以加快数据插入速度 #26076 - 支持稳定结果模式,使查询结果更稳定 #25995
- 支持将函数
json_unquote()
下推到 TiKV #26265 - 支持 MPP 查询的重试 #26480
- 对于
point get
或batch point get
算子,在唯一索引写入过程中,将悲观锁LOCK
记录转化为PUT
记录 #26225 - 禁止使用 Stale 查询来进行创建视图 #26225
- 在 MPP 模式下彻底下推
COUNT(DISTINCT)
聚合函数 #26194 - 在发起 MPP 查询之前检查 TiFlash 的可用性 #26192
- 不允许将读时间戳设置为将来的时间 #25763
- 当聚合函数在
EXPLAIN
语句中不能被下推时打印警告日志 #25737 - 增加
statements_summary_evicted
表来记录集群的驱逐数量信息 #25587 - 提升内置函数
str_to_date
在格式指定器中%b/%M/%r/%T
的 MySQL 兼容性 #25768
TiKV
Tools
Bug 修复
TiDB
- 修复了
tidb_enable_amend_pessimistic_txn=on
下更改列类型可能出现数据丢失的问题 #26203 - 修复了
last_day
函数的行为在 SQL 模式下不兼容的问题 #26001 - 修复
LIMIT
位于窗口函数之上时可能出现的 panic 问题 #25344 - 修复了提交悲观事务可能会导致写冲突的问题 #25964
- 修复关联子查询中 Index Join 的结果不正确问题 #25799
- 修复了成功提交的悲观事务可能会报提交失败的问题 #10468
- 修复在
SET
类型列上 Merge Join 结果不正确的问题 #25669 - 修复了在悲观事务中索引键值可能会被重复提交的问题 #26359
- 修复了优化器在定位分区时存在整数溢出的风险 #26227
- 修复了将
DATE
类型转换成时间戳时可能会写入无效值的问题 #26292 - 修复了 Coprocessor Cache 监控项未在 Grafana 中显示的问题 #26338
- 修复了遥测引起的干扰日志 #25760 #25785
- 修复了索引前缀的查询范围问题 #26029
- 修复了并发 truncate 同一个 partition 会导致 DDL 执行卡住的问题 #26229
- 修复了
EMUN
元素重复的问题 #25955 - 修复了 CTE 迭代器没有正确关闭的问题 #26112
- 修复
LOAD DATA
语句可能不正常导入非 utf8 数据的问题 #25979 - 修复在无符号整数列上使用窗口函数可能导致崩溃的问题 #25956
- 修复了清除 Async Commit 锁时可能会导致 TiDB panic 的问题 #25778
- 修复了 Stale Read 不完全兼容
PREPARE
语句的问题 #25800 - 修复 ODBC 类常数(例如
{d '2020-01-01'}
)不能被用作表达式的问题 #25531 - 修复了单独运行 TiDB 时出现的一个错误 #25555
- 修复了
TiKV
- 修复特定平台上的 duration 计算可能崩溃的问题 #10569
- 修复 Load Base Split 误用
batch_get_command
中未编码键的问题 #10542 - 修复在线变更
resolved-ts.advance-ts-interval
配置无法立即生效的问题 #10426 - 修复在超过 4 副本的罕见场景下 Follower 元信息损坏的问题 #10225
- 修复开启加密后再次生成同样的 snapshot 会出现 panic 的问题 #9786 #10407
- 修正
tikv_raftstore_hibernated_peer_state
监控指标项 #10330 - 修复 coprocessor 中
json_unquote()
函数错误的参数类型 #10176 - 修复悲观事务中索引键被重复 commit 的问题 #10468
- 修复
ReadIndex
请求在 leader 迁移后返回过期数据的问题 #9351
PD
TiFlash
- 修复执行扫表任务时出现进程崩溃的潜在问题
- 修复处理 DAG 请求时出现
duplicated region
报错的问题 - 修复读负载高的情况下进程崩溃的问题
- 修复执行
DateFormat
函数时出现进程崩溃的潜在问题 - 修复执行 MPP 任务时出现内存泄漏的潜在问题
- 修复执行
COUNT
或COUNT DISTINCT
函数时出现非预期结果的问题 - 修复多盘部署时出现数据无法恢复的潜在问题
- 修复 TiDB Dashboard 无法正确显示 TiFlash 磁盘信息的问题
- 修复析构
SharedQueryBlockInputStream
时出现进程崩溃的潜在问题 - 修复析构
MPPTask
时出现进程崩溃的潜在问题 - 修复通过快照同步数据后可能出现的数据不一致的问题
Tools
TiCDC
Backup & Restore (BR)
TiDB Lightning