- 关于 TiDB
- 快速上手
- 部署标准集群
- 数据迁移
- 运维操作
- 监控与告警
- 故障诊断
- 性能调优
- 系统调优
- 软件调优
- SQL 性能调优
- SQL 性能调优概览
- 理解 TiDB 执行计划
- SQL 优化流程
- 控制执行计划
- 教程
- TiDB 工具
- 功能概览
- 适用场景
- 工具下载
- TiUP
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDB Data Migration
- Backup & Restore (BR)
- TiDB Binlog
- TiCDC
- sync-diff-inspector
- TiSpark
- 参考指南
- 架构
- 监控指标
- 安全加固
- 权限
- SQL
- SQL 语言结构和语法
- SQL 语句
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER TABLE
ALTER USER
ANALYZE TABLE
BACKUP
BEGIN
CHANGE COLUMN
CHANGE DRAINER
CHANGE PUMP
COMMIT
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW [BACKUPS|RESTORES]
SHOW ANALYZE STATUS
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TABLE
TRACE
TRUNCATE
UPDATE
USE
WITH
- 数据类型
- 函数与操作符
- 聚簇索引
- 约束
- 生成列
- SQL 模式
- 事务
- 垃圾回收 (GC)
- 视图
- 分区表
- 字符集和排序规则
- 系统表
mysql
- INFORMATION_SCHEMA
- Overview
ANALYZE_STATUS
CLIENT_ERRORS_SUMMARY_BY_HOST
CLIENT_ERRORS_SUMMARY_BY_USER
CLIENT_ERRORS_SUMMARY_GLOBAL
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DATA_LOCK_WAITS
DDL_JOBS
DEADLOCKS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PROCESSLIST
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- CLI
- 命令行参数
- 配置文件参数
- 系统变量
- 存储引擎
- 遥测
- 错误码
- 通过拓扑 label 进行副本调度
- 常见问题解答 (FAQ)
- 版本发布历史
- 发布版本汇总
- v5.1
- v5.0
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- 术语表
TiDB 5.1.2 Release Notes
发版日期:2021 年 9 月 27 日
TiDB 版本:5.1.2
兼容性更改
TiDB
- 以下 Bug 修复涉及执行结果变化,可能引起兼容性变化:
- 修复了
greatest(datetime) union null
返回空字符串的问题 #26532 - 修复了
having
子句可能执行错误的问题 #26496 - 修复了当
between
表达式两边的 collation 不一致会导致查询结果错误的问题 #27146 - 修复了当
group_concat
函数包含非bin
的 collation 时查询结果错误的问题 #27429 - 修复了当开启 New Collation 时,在多列上执行
count(distinct)
表达式结果错误的问题 #27091 - 修复了
extract
函数的参数是负数时查询结果错误的问题 #27236 - 修复了当
SQL_MODE
为 'STRICT_TRANS_TABLES' 时,插入非法时间不报错的问题 #26762 - 修复了当
SQL_MODE
为 'NO_ZERO_IN_DATE' 时,使用非法的默认时间不报错的问题 #26766
- 修复了
- 以下 Bug 修复涉及执行结果变化,可能引起兼容性变化:
Tools
TiCDC
- 从 v5.1.2 版本起,TiCDC 不再支持环形同步功能
Tools
TiCDC
- 将兼容版本从
5.1.0-alpha
改为5.2.0-alpha
#2659
- 将兼容版本从
改进提升
TiDB
- 根据直方图行数来触 auto-analyze,提升 auto-analyze 触发的准确度 #24237
TiKV
PD
TiFlash
- 支持
DATE()
函数 - 为 Grafana 面板增加每个实例的写入吞吐
- 优化
leader-read
流程的性能 - 加速 MPP 任务取消的流程
- 支持
Tools
Bug 修复
TiDB
- 修复 hash 列为
ENUM
类型时 index hash join 的结果可能出错的问题 #27893 - 修复极少数情况下 batch client 复用空闲连接可能阻塞请求发送的问题 #27678
- 修复了
FLOAT64
类型的溢出检查与 MySQL 不一致的问题 #23897 - 修复 TiDB 把
pd is timeout
错误返回成unkonwn
的问题 #26147 - 修复了
case when
表达式的字符集和排序规则错误的问题 #26662 - 修复 MPP 查询可能返回
can not found column in Schema column
错误的问题 #28148 - 修复 TiFlash 宕机可能导致 TiDB Panic 的问题 #28096
- 修复使用谓词
enum like 'x%'
可能导致错误结果的问题 #27130 - 修复当使用 IndexLookupJoin 时公共表达式 (CTE) 死锁的问题 #27410
- 修复死锁重试被错误记录到
INFORMATION_SCHEMA.DEADLOCKS
表的问题 #27400 - 修复分区表上的
TABLESAMPLE
查询结果排序不生效的问题 #27349 - 移除未使用的
/debug/sub-optimal-plan
HTTP 接口相关逻辑 #27265 - 修复 hash 分区表处理无符号数据时查询返回错误结果的问题 #26569
- 修复当
NO_UNSIGNED_SUBTRACTION
被设置时创建分区出错的问题 #26765 - 修复
Apply
转换为 Join 时缺失distinct
的问题 #26958 - 为处于恢复状态的 TiFlash 节点设置一段屏蔽时间,避免在此时间内阻塞查询 #26897
- 修复 CTE 被引用多次时可能出现的 bug 的问题 #26212
- 修复使用 MergeJoin 时可能造成 CTE 出现 bug 的问题 #25474
- 修复当 Join 分区表和普通表时
select for update
不能正确上锁的问题 #26251 - 修复当 Join 分区表和普通表时
select for update
语句结果报错的问题 #26250 - 修复
PointGet
不能使用轻量清锁的问题 #26562
- 修复 hash 列为
TiKV
- 修复当 TiKV 从 v3.x 升级至较高版本后出现 Panic 的问题 #10902
- 修复损坏的快照文件可能会造成磁盘空间无法回收的问题 #10813
- 当 slogger 线程过载且队列已满时,删除日志而不是阻塞线程 #10841
- 使 TiKV Coprocessor 慢日志只考虑处理请求所花费的时间 #10841
- 修复当处理 Coprocessor 请求时因超时而导致 Panic 的问题 #10852
- 修复 TiKV 在启用 Titan 并从 v5.0 以前的版本升级时出现 Panic 的问题 #10842
- 修复高版本的 TiKV 无法回滚到 v5.0.x 的问题 #10842
- 修复 TiKV 可能会在 RocksDB 读取文件之前删除文件的错误 #10438
- 修复遗留的悲观锁导致的解析失败的问题 #26404
PD
TiFlash
- 修复无法建立 MPP 连接时出现异常结果的问题
- 修复多盘部署时数据不一致的潜在问题
- 修复高负载时出现 MPP 查询结果错误的问题
- 修复 MPP 查询卡死的潜在问题
- 修复并发执行节点初始化与 DDL 操作时出现异常的问题
- 修复当查询过滤条件包含诸如
CONSTANT
、<
、<=
、>
、>=
或COLUMN
时出现错误结果的问题 - 修复并发执行多个 DDL 操作和 Apply Snapshot 操作时出现异常的潜在问题
- 修复写入压力大时 metrics 中 store size 不准确的问题
- 修复 TiFlash 长时间运行后无法回收 Delta 历史数据的潜在问题
- 修复开启 New Collation 时查询结果错误的问题
- 修复解锁出现异常的潜在问题
- 修复 metrics 显示错误值的问题
Tools
Backup & Restore (BR)
- 修复了备份数据和恢复数据时显示的平均速度数值不准确的问题 #1405
Dumpling
TiCDC
- 修复未充分考虑字符串类型的值可能是
string
或[]byte
时,转换为 JSON 格式可能导致 TiCDC 进程崩溃的问题 #2758 - 降低 gRPC 的 window size 以避免出现 OOM 的情况 #2673
- 修复内存压力较高时 gRPC 的
keepalive
错误 #2202 - 修复
unsigned tinyint
导致 TiCDC 崩溃的问题 #2648 - 修复 TiCDC Open Protocol 下输出空值的问题。修复后,在开放协议下,未包含变更的事务 TiCDC 处理时不再输出空值 #2612
- 修复手动重启 TiCDC 时 DDL 处理存在的问题 #2603
- 修复操作元数据时,
EtcdWorker
的快照隔离可能被破坏的问题 #2559 - 修复 TiCDC 在重新调度 table 时多个 processors 可能向同一个 table 写数据的问题 #2230
- 修复 TiCDC 遇到
ErrSchemaStorageTableMiss
错误时可能导致 changefeed 被意外重置的问题 #2422 - 修复 TiCDC 遇到
ErrGCTTLExceeded
错误时 changefeed 不能被移除的问题 #2391 - 修复 TiCDC 同步大表到 cdclog 失败的问题 #1259#2424
- 修复未充分考虑字符串类型的值可能是
文档内容是否有帮助?