- Docs Home
- About TiDB
- Quick Start
- Develop
- Overview
- Quick Start
- Build a TiDB Cluster in TiDB Cloud (Developer Tier)
- CRUD SQL in TiDB
- Build a Simple CRUD App with TiDB
- Example Applications
- Connect to TiDB
- Design Database Schema
- Write Data
- Read Data
- Transaction
- Optimize
- Troubleshoot
- Reference
- Cloud Native Development Environment
- Third-party Support
- Deploy
- Software and Hardware Requirements
- Environment Configuration Checklist
- Plan Cluster Topology
- Install and Start
- Verify Cluster Status
- Test Cluster Performance
- Migrate
- Overview
- Migration Tools
- Migration Scenarios
- Migrate from Aurora
- Migrate MySQL of Small Datasets
- Migrate MySQL of Large Datasets
- Migrate and Merge MySQL Shards of Small Datasets
- Migrate and Merge MySQL Shards of Large Datasets
- Migrate from CSV Files
- Migrate from SQL Files
- Migrate from One TiDB Cluster to Another TiDB Cluster
- Migrate from TiDB to MySQL-compatible Databases
- Advanced Migration
- Integrate
- Maintain
- Monitor and Alert
- Troubleshoot
- TiDB Troubleshooting Map
- Identify Slow Queries
- Analyze Slow Queries
- SQL Diagnostics
- Identify Expensive Queries Using Top SQL
- Identify Expensive Queries Using Logs
- Statement Summary Tables
- Troubleshoot Hotspot Issues
- Troubleshoot Increased Read and Write Latency
- Save and Restore the On-Site Information of a Cluster
- Troubleshoot Cluster Setup
- Troubleshoot High Disk I/O Usage
- Troubleshoot Lock Conflicts
- Troubleshoot TiFlash
- Troubleshoot Write Conflicts in Optimistic Transactions
- Troubleshoot Inconsistency Between Data and Indexes
- Performance Tuning
- Tuning Guide
- Configuration Tuning
- System Tuning
- Software Tuning
- SQL Tuning
- Overview
- Understanding the Query Execution Plan
- SQL Optimization Process
- Overview
- Logic Optimization
- Physical Optimization
- Prepare Execution Plan Cache
- Control Execution Plans
- Tutorials
- TiDB Tools
- Overview
- Use Cases
- Download
- TiUP
- Documentation Map
- Overview
- Terminology and Concepts
- Manage TiUP Components
- FAQ
- Troubleshooting Guide
- Command Reference
- Overview
- TiUP Commands
- TiUP Cluster Commands
- Overview
- tiup cluster audit
- tiup cluster check
- tiup cluster clean
- tiup cluster deploy
- tiup cluster destroy
- tiup cluster disable
- tiup cluster display
- tiup cluster edit-config
- tiup cluster enable
- tiup cluster help
- tiup cluster import
- tiup cluster list
- tiup cluster patch
- tiup cluster prune
- tiup cluster reload
- tiup cluster rename
- tiup cluster replay
- tiup cluster restart
- tiup cluster scale-in
- tiup cluster scale-out
- tiup cluster start
- tiup cluster stop
- tiup cluster template
- tiup cluster upgrade
- TiUP DM Commands
- Overview
- tiup dm audit
- tiup dm deploy
- tiup dm destroy
- tiup dm disable
- tiup dm display
- tiup dm edit-config
- tiup dm enable
- tiup dm help
- tiup dm import
- tiup dm list
- tiup dm patch
- tiup dm prune
- tiup dm reload
- tiup dm replay
- tiup dm restart
- tiup dm scale-in
- tiup dm scale-out
- tiup dm start
- tiup dm stop
- tiup dm template
- tiup dm upgrade
- TiDB Cluster Topology Reference
- DM Cluster Topology Reference
- Mirror Reference Guide
- TiUP Components
- PingCAP Clinic Diagnostic Service
- TiDB Operator
- Dumpling
- TiDB Lightning
- TiDB Data Migration
- About TiDB Data Migration
- Architecture
- Quick Start
- Deploy a DM cluster
- Tutorials
- Advanced Tutorials
- Maintain
- Cluster Upgrade
- Tools
- Performance Tuning
- Manage Data Sources
- Manage Tasks
- Export and Import Data Sources and Task Configurations of Clusters
- Handle Alerts
- Daily Check
- Reference
- Architecture
- Command Line
- Configuration Files
- OpenAPI
- Compatibility Catalog
- Secure
- Monitoring and Alerts
- Error Codes
- Glossary
- Example
- Troubleshoot
- Release Notes
- Backup & Restore (BR)
- TiDB Binlog
- TiCDC
- Dumpling
- sync-diff-inspector
- TiSpark
- Reference
- Cluster Architecture
- Key Monitoring Metrics
- Secure
- Privileges
- SQL
- SQL Language Structure and Syntax
- SQL Statements
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ADMIN SHOW TELEMETRY
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER PLACEMENT POLICY
ALTER TABLE
ALTER TABLE COMPACT
ALTER USER
ANALYZE TABLE
BACKUP
BATCH
BEGIN
CHANGE COLUMN
COMMIT
CHANGE DRAINER
CHANGE PUMP
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE PLACEMENT POLICY
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 PLACEMENT POLICY
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 ANALYZE STATUS
SHOW [BACKUPS|RESTORES]
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE PLACEMENT POLICY
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 PLACEMENT
SHOW PLACEMENT FOR
SHOW PLACEMENT LABELS
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
- Data Types
- Functions and Operators
- Overview
- Type Conversion in Expression Evaluation
- Operators
- Control Flow Functions
- String Functions
- Numeric Functions and Operators
- Date and Time Functions
- Bit Functions and Operators
- Cast Functions and Operators
- Encryption and Compression Functions
- Locking Functions
- Information Functions
- JSON Functions
- Aggregate (GROUP BY) Functions
- Window Functions
- Miscellaneous Functions
- Precision Math
- Set Operations
- List of Expressions for Pushdown
- TiDB Specific Functions
- Clustered Indexes
- Constraints
- Generated Columns
- SQL Mode
- Table Attributes
- Transactions
- Garbage Collection (GC)
- Views
- Partitioning
- Temporary Tables
- Cached Tables
- Character Set and Collation
- Placement Rules in SQL
- System Tables
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
PLACEMENT_POLICIES
PROCESSLIST
REFERENTIAL_CONSTRAINTS
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_HOT_REGIONS_HISTORY
TIDB_INDEXES
TIDB_SERVERS_INFO
TIDB_TRX
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- TiDB Dashboard
- Overview
- Maintain
- Access
- Overview Page
- Cluster Info Page
- Top SQL Page
- Key Visualizer Page
- Metrics Relation Graph
- SQL Statements Analysis
- Slow Queries Page
- Cluster Diagnostics
- Search Logs Page
- Instance Profiling
- Session Management and Configuration
- FAQ
- CLI
- Command Line Flags
- Configuration File Parameters
- System Variables
- Storage Engines
- Telemetry
- Errors Codes
- Table Filter
- Schedule Replicas by Topology Labels
- FAQs
- Release Notes
- All Releases
- Release Timeline
- TiDB Versioning
- v6.1
- v6.0
- v5.4
- v5.3
- v5.2
- v5.1
- v5.0
- v4.0
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- Glossary
TiDB 5.3.1 Release Notes
Release Date: March 3, 2022
TiDB version: 5.3.1
Compatibility changes
Tools
TiDB Lightning
- Change the default value of
regionMaxKeyCount
from 1_440_000 to 1_280_000, to avoid too many empty Regions after data import #30018
- Change the default value of
Improvements
TiDB
- Optimize the mapping logic of user login mode to make the logging more MySQL-compatible #30450
TiKV
PD
- Optimize the content format of the
DR_STATE
file #4341
- Optimize the content format of the
Tools
TiCDC
- Expose configuration parameters of the Kafka producer to make them configurable in TiCDC #4385
- Add a pre-cleanup process upon TiCDC startup if S3 is used as backend storage #3878
- The TiCDC client works when no certificate name is specified #3627
- Manage sink checkpoints per table to avoid unexpected advance of checkpoint timestamps #3545
- Add the exponential backoff mechanism for restarting a changefeed. #3329
- Change the default value of Kafka Sink
partition-num
to 3 so that TiCDC distributes messages across Kafka partitions more evenly #3337 - Reduce the count of "EventFeed retry rate limited" logs #4006
- Set the default value of
max-message-bytes
to 10M #4041 - Add more Prometheus and Grafana monitoring metrics and alerts, including
no owner alert
,mounter row
,table sink total row
, andbuffer sink total row
#4054 #1606 - Reduce the time for the KV client to recover when a TiKV store is down #3191
TiDB Lightning
- Refine the output message of the precheck to make it more user-friendly when the local disk space check fails #30395
Bug fixes
TiDB
- Fix the issue that
date_format
in TiDB handles'\n'
in a MySQL-incompatible way #32232 - Fix the issue that
alter column set default
wrongly updates the table schema #31074 - Fix a bug that
tidb_super_read_only
is not automatically enabled whentidb_restricted_read_only
is enabled #31745 - Fix the issue that the
greatest
orleast
function with collation gets a wrong result #31789 - Fix the MPP task list empty error when executing a query #31636
- Fix wrong results of index join caused by an innerWorker panic #31494
- Fix wrong query results after changing the column type from
FLOAT
toDOUBLE
#31372 - Fix the
invalid transaction
error when executing a query using index lookup join #30468 - Fix wrong query results due to the optimization of
Order By
#30271 - Fix the issue that the configurations of
MaxDays
andMaxBackups
do not take effect on the slow log #25716 - Fix the issue that executing the
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
statement gets panic #28078
- Fix the issue that
TiKV
- Fix the panic issue caused by deleting snapshot files when the peer status is
Applying
#11746 - Fix the issue of QPS drop when flow control is enabled and
level0_slowdown_trigger
is set explicitly #11424 - Fix the panic issue that occurs when the cgroup controller is not mounted #11569
- Fix the issue that the latency of Resolved TS increases after TiKV stops operating #11351
- Fix a bug that TiKV cannot delete a range of data (
unsafe_destroy_range
cannot be executed) when the GC worker is busy #11903 - Fix the issue that destroying a peer might cause high latency #10210
- Fix a bug that the
any_value
function returns a wrong result when regions are empty #11735 - Fix the issue that deleting an uninitialized replica might cause an old replica to be recreated #10533
- Fix the metadata corruption issue when
Prepare Merge
is triggered after a new election is finished but the isolated peer is not informed #11526 - Fix the deadlock issue that happens occasionally when coroutines run too fast #11549
- Fix the issue that a down TiKV node causes the resolved timestamp to lag #11351
- Fix the issue that batch messages are too large in Raft client implementation #9714
- Fix a panic issue that occurs when Region merge, ConfChange, and Snapshot happen at the same time in extreme conditions #11475
- Fix the issue that TiKV cannot detect the memory lock when TiKV performs a reverse table scan #11440
- Fix the issue that RocksDB flush or compaction causes panic when the disk capacity is full #11224
- Fix a bug that tikv-ctl cannot return the correct Region-related information #11393
- Fix the issue that the average latency of the by-instance gRPC requests is inaccurate in TiKV metrics #11299
- Fix the panic issue caused by deleting snapshot files when the peer status is
PD
- Fix a bug that the scheduling process has the unnecessary JointConsensus steps in certain cases #4362
- Fix a bug that the scheduling cannot be executed when demoting a voter directly #4444
- Fix a data race issue that occurs when updating the configuration of the replication mode of replicas #4325
- Fix a bug that the Read lock is not released in certain cases #4354
- Fix the issue that the cold hotspot data cannot be deleted from the hotspot statistics #4390
TiFlash
- Fix the issue that
cast(arg as decimal(x,y))
returns a wrong result when the input argumentarg
overflows the range ofdecimal(x,y)
- Fix the TiFlash crash issue that occurs when
max_memory_usage
andmax_memory_usage_for_all_queries
are enabled - Fix the issue that
cast(string as real)
returns a wrong result - Fix the issue that
cast(string as decimal)
returns a wrong result - Fix potential data inconsistency after altering a primary key column to a larger int data type
- Fix the bug that when
in
has multiple arguments in the statements likeselect (arg0, arg1) in (x,y)
,in
returns a wrong result - Fix the issue that TiFlash might panic when an MPP query is stopped
- Fix the issue that
str_to_date
returns a wrong result when the input argument has leading zeros - Fix the issue that the query returns a wrong result when the filter is in the
where <string>
format - Fix the issue that
cast(string as datetime)
returns a wrong result when the input argumentstring
is in the%Y-%m-%d\n%H:%i:%s
format
- Fix the issue that
Tools
Backup & Restore (BR)
- Fix the potential issue that Regions might be unevenly distributed after a restore operation is finished #31034
TiCDC
- Fix a bug that long varchars report an error
Column length too big
#4637 - Fix a bug that a TiCDC node exits abnormally when a PD leader is killed #4248
- Fix the issue that execution errors of the update statement in safemode may cause the DM-worker panic #4317
- Fix the issue that cached region metric of the TiKV client may be negative #4300
- Fix the bug that HTTP API panics when the required processor information does not exist #3840
- Fix a bug that the relay status in the DM-master is wrong after restarting the DM-master and DM-worker in a particular order #3478
- Fix a bug that the DM-worker fails to boot up after a restart #3344
- Fix a bug that a DM task fails if running a PARTITION DDL takes too long time #3854
- Fix a bug that DM may report
invalid sequence
when upstream is MySQL 8.0 #3847 - Fix a bug that redo logs are not cleaned up when removing a paused changefeed #4740
- Fix a bug of data loss when DM does finer grained retry #3487
- Fix OOM in container environments #1798
- Fix a bug that stopping a loading task results in unexpected transfer of the task #3771
- Fix the issue that wrong progress is returned for the
query-status
command on loader #3252 - Fix the issue that HTTP API fails to work if there are TiCDC nodes of different versions in a cluster #3483
- Fix the issue that TiCDC exits abnormally when the S3 storage is configured with TiCDC Redo Log #3523
- Fix the issue that default values cannot be replicated #3793
- Fix a bug that MySQL sink generates duplicated
replace
SQL statements ifbatch-replace-enable
is disabled #4501 - Fix the issue that syncer metrics are updated only when querying the status #4281
- Fix the issue that
mq sink write row
does not have monitoring data #3431 - Fix the issue that replication cannot be performed when
min.insync.replicas
is smaller thanreplication-factor
#3994 - Fix the issue that the
CREATE VIEW
statement interrupts data replication #4173 - Fix the issue the schema needs to be reset after a DDL statement is skipped #4177
- Fix the issue that
mq sink write row
does not have monitoring data #3431 - Fix the potential panic issue that occurs when a replication task is removed #3128
- Fix the potential issue that the deadlock causes a replication task to get stuck #4055
- Fix the TiCDC panic issue that occurs when manually cleaning the task status in etcd #2980
- Fix the issue that special comments in DDL statements cause the replication task to stop #3755
- Fix the issue of replication stop caused by the incorrect configuration of
config.Metadata.Timeout
#3352 - Fix the issue that the service cannot be started because of a timezone issue in some RHEL releases #3584
- Fix the issue that
stopped
changefeeds resume automatically after a cluster upgrade #3473 - Fix the issue that default values cannot be replicated #3793
- Fix the issue of overly frequent warnings caused by MySQL sink deadlock #2706
- Fix the bug that the
enable-old-value
configuration item is not automatically set totrue
on Canal and Maxwell protocols #3676 - Fix the issue that Avro sink does not support parsing JSON type columns #3624
- Fix the negative value error in the changefeed checkpoint lag #3010
- Fix a bug that long varchars report an error
TiDB Lightning
- Fix the bug that TiDB Lightning may not delete the metadata schema when some import tasks do not contain source files #28144
- Fix the bug that TiDB Lightning returns an error if the storage URL prefix is "gs://xxx", instead of "gcs://xxx" #32742
- Fix the issue that setting --log-file="-" does not print any log to stdout #29876
- Fix the issue that TiDB Lightning does not report errors when the S3 storage path does not exist #30709
What’s on this page
Was this page helpful?