From 8fe89cef8085da6d072ebe981764c35a79ec7b1d Mon Sep 17 00:00:00 2001
From: TomShawn <41534398+TomShawn@users.noreply.github.com>
Date: Tue, 22 Jun 2021 15:35:23 +0800
Subject: [PATCH 001/127] Remove all aliases from release-5.1 (#5818)
---
_index.md | 1 -
adopters.md | 1 -
alert-rules.md | 1 -
auto-increment.md | 1 -
auto-random.md | 1 -
backup-and-restore-using-dumpling-lightning.md | 1 -
basic-features.md | 1 -
basic-sql-operations.md | 1 -
benchmark/benchmark-sysbench-v2.md | 1 -
benchmark/benchmark-sysbench-v3.md | 1 -
benchmark/benchmark-sysbench-v4-vs-v3.md | 1 -
benchmark/benchmark-tidb-using-sysbench.md | 1 -
benchmark/benchmark-tidb-using-tpcc.md | 1 -
benchmark/benchmark-tpch.md | 1 -
benchmark/online-workloads-and-add-index-operations.md | 1 -
benchmark/v3.0-performance-benchmarking-with-sysbench.md | 1 -
benchmark/v3.0-performance-benchmarking-with-tpcc.md | 1 -
benchmark/v4.0-performance-benchmarking-with-tpcc.md | 1 -
benchmark/v4.0-performance-benchmarking-with-tpch.md | 1 -
best-practices/grafana-monitor-best-practices.md | 1 -
best-practices/haproxy-best-practices.md | 1 -
best-practices/high-concurrency-best-practices.md | 1 -
best-practices/java-app-best-practices.md | 1 -
best-practices/massive-regions-best-practices.md | 1 -
best-practices/pd-scheduling-best-practices.md | 1 -
best-practices/tidb-best-practices.md | 1 -
br/backup-and-restore-faq.md | 1 -
br/backup-and-restore-storages.md | 1 -
br/backup-and-restore-tool.md | 1 -
br/backup-and-restore-use-cases.md | 1 -
certificate-authentication.md | 1 -
character-set-and-collation.md | 1 -
check-before-deployment.md | 1 -
command-line-flags-for-pd-configuration.md | 1 -
command-line-flags-for-tidb-configuration.md | 1 -
command-line-flags-for-tikv-configuration.md | 1 -
comment-syntax.md | 1 -
community.md | 1 -
configure-load-base-split.md | 1 -
configure-memory-usage.md | 1 -
configure-placement-rules.md | 1 -
configure-store-limit.md | 1 -
configure-time-zone.md | 1 -
connectors-and-apis.md | 1 -
constraints.md | 1 -
coprocessor-cache.md | 1 -
daily-check.md | 1 -
dashboard/dashboard-access.md | 1 -
dashboard/dashboard-cluster-info.md | 1 -
dashboard/dashboard-diagnostics-access.md | 1 -
dashboard/dashboard-diagnostics-report.md | 1 -
dashboard/dashboard-diagnostics-usage.md | 1 -
dashboard/dashboard-faq.md | 1 -
dashboard/dashboard-intro.md | 1 -
dashboard/dashboard-key-visualizer.md | 1 -
dashboard/dashboard-log-search.md | 1 -
dashboard/dashboard-ops-deploy.md | 1 -
dashboard/dashboard-ops-reverse-proxy.md | 1 -
dashboard/dashboard-ops-security.md | 1 -
dashboard/dashboard-overview.md | 1 -
dashboard/dashboard-profiling.md | 1 -
dashboard/dashboard-slow-query.md | 1 -
dashboard/dashboard-statement-details.md | 1 -
dashboard/dashboard-statement-list.md | 1 -
data-type-date-and-time.md | 1 -
data-type-default-values.md | 1 -
data-type-json.md | 1 -
data-type-numeric.md | 1 -
data-type-overview.md | 1 -
data-type-string.md | 1 -
deploy-monitoring-services.md | 1 -
deploy-test-cluster-using-docker-compose.md | 1 -
download-ecosystem-tools.md | 1 -
dumpling-overview.md | 1 -
dynamic-config.md | 1 -
ecosystem-tool-user-case.md | 1 -
ecosystem-tool-user-guide.md | 1 -
enable-tls-between-clients-and-servers.md | 1 -
enable-tls-between-components.md | 1 -
encryption-at-rest.md | 1 -
error-codes.md | 1 -
experimental-features.md | 1 -
explain-overview.md | 1 -
expression-syntax.md | 1 -
faq/tidb-faq.md | 1 -
faq/upgrade-faq.md | 1 -
follower-read.md | 1 -
functions-and-operators/aggregate-group-by-functions.md | 1 -
functions-and-operators/bit-functions-and-operators.md | 1 -
functions-and-operators/cast-functions-and-operators.md | 1 -
functions-and-operators/control-flow-functions.md | 1 -
functions-and-operators/date-and-time-functions.md | 1 -
functions-and-operators/encryption-and-compression-functions.md | 1 -
functions-and-operators/expressions-pushed-down.md | 1 -
functions-and-operators/functions-and-operators-overview.md | 1 -
functions-and-operators/information-functions.md | 1 -
functions-and-operators/json-functions.md | 1 -
functions-and-operators/miscellaneous-functions.md | 1 -
functions-and-operators/numeric-functions-and-operators.md | 1 -
functions-and-operators/operators.md | 1 -
functions-and-operators/precision-math.md | 1 -
functions-and-operators/string-functions.md | 1 -
.../type-conversion-in-expression-evaluation.md | 1 -
functions-and-operators/window-functions.md | 1 -
garbage-collection-configuration.md | 1 -
garbage-collection-overview.md | 1 -
generate-self-signed-certificates.md | 1 -
generated-columns.md | 1 -
geo-distributed-deployment-topology.md | 1 -
get-started-with-tidb-lightning.md | 1 -
get-started-with-tispark.md | 1 -
glossary.md | 1 -
grafana-overview-dashboard.md | 1 -
grafana-pd-dashboard.md | 1 -
grafana-tidb-dashboard.md | 1 -
grafana-tikv-dashboard.md | 1 -
hardware-and-software-requirements.md | 1 -
hybrid-deployment-topology.md | 1 -
identify-expensive-queries.md | 1 -
identify-slow-queries.md | 1 -
import-example-data.md | 1 -
information-schema/information-schema-cluster-config.md | 1 -
information-schema/information-schema-cluster-hardware.md | 1 -
information-schema/information-schema-cluster-info.md | 1 -
information-schema/information-schema-cluster-load.md | 1 -
information-schema/information-schema-cluster-log.md | 1 -
information-schema/information-schema-cluster-systeminfo.md | 1 -
information-schema/information-schema-inspection-result.md | 1 -
information-schema/information-schema-inspection-summary.md | 1 -
information-schema/information-schema-metrics-summary.md | 1 -
information-schema/information-schema-metrics-tables.md | 1 -
information-schema/information-schema-sql-diagnostics.md | 1 -
information-schema/information-schema.md | 1 -
join-reorder.md | 1 -
keywords.md | 1 -
literal-values.md | 1 -
maintain-tidb-using-tiup.md | 1 -
metrics-schema.md | 1 -
migrate-from-aurora-mysql-database.md | 1 -
migrate-from-mysql-dumpling-files.md | 1 -
migration-overview.md | 1 -
minimal-deployment-topology.md | 1 -
multi-data-centers-in-one-city-deployment.md | 1 -
mysql-compatibility.md | 1 -
mysql-schema.md | 1 -
optimistic-transaction.md | 1 -
optimizer-hints.md | 1 -
overview.md | 1 -
partitioned-table.md | 1 -
pd-configuration-file.md | 1 -
pd-control.md | 1 -
pd-recover.md | 1 -
pessimistic-transaction.md | 1 -
post-installation-check.md | 1 -
predicate-push-down.md | 1 -
privilege-management.md | 1 -
production-deployment-using-tiup.md | 1 -
quick-start-with-tidb.md | 1 -
read-historical-data.md | 1 -
releases/release-1.0-ga.md | 1 -
releases/release-1.0.1.md | 1 -
releases/release-1.0.2.md | 1 -
releases/release-1.0.3.md | 1 -
releases/release-1.0.4.md | 1 -
releases/release-1.0.5.md | 1 -
releases/release-1.0.6.md | 1 -
releases/release-1.0.7.md | 1 -
releases/release-1.0.8.md | 1 -
releases/release-1.1-alpha.md | 1 -
releases/release-1.1-beta.md | 1 -
releases/release-2.0-ga.md | 1 -
releases/release-2.0-rc.1.md | 1 -
releases/release-2.0-rc.3.md | 1 -
releases/release-2.0-rc.4.md | 1 -
releases/release-2.0-rc.5.md | 1 -
releases/release-2.0.1.md | 1 -
releases/release-2.0.10.md | 1 -
releases/release-2.0.11.md | 1 -
releases/release-2.0.2.md | 1 -
releases/release-2.0.3.md | 1 -
releases/release-2.0.4.md | 1 -
releases/release-2.0.5.md | 1 -
releases/release-2.0.6.md | 1 -
releases/release-2.0.7.md | 1 -
releases/release-2.0.8.md | 1 -
releases/release-2.0.9.md | 1 -
releases/release-2.1-beta.md | 1 -
releases/release-2.1-ga.md | 1 -
releases/release-2.1-rc.1.md | 1 -
releases/release-2.1-rc.2.md | 1 -
releases/release-2.1-rc.3.md | 1 -
releases/release-2.1-rc.4.md | 1 -
releases/release-2.1-rc.5.md | 1 -
releases/release-2.1.1.md | 1 -
releases/release-2.1.10.md | 1 -
releases/release-2.1.11.md | 1 -
releases/release-2.1.12.md | 1 -
releases/release-2.1.13.md | 1 -
releases/release-2.1.14.md | 1 -
releases/release-2.1.15.md | 1 -
releases/release-2.1.16.md | 1 -
releases/release-2.1.17.md | 1 -
releases/release-2.1.18.md | 1 -
releases/release-2.1.19.md | 1 -
releases/release-2.1.2.md | 1 -
releases/release-2.1.3.md | 1 -
releases/release-2.1.4.md | 1 -
releases/release-2.1.5.md | 1 -
releases/release-2.1.6.md | 1 -
releases/release-2.1.7.md | 1 -
releases/release-2.1.8.md | 1 -
releases/release-2.1.9.md | 1 -
releases/release-3.0-beta.md | 1 -
releases/release-3.0-ga.md | 1 -
releases/release-3.0.0-beta.1.md | 1 -
releases/release-3.0.0-rc.1.md | 1 -
releases/release-3.0.0-rc.2.md | 1 -
releases/release-3.0.0-rc.3.md | 1 -
releases/release-3.0.1.md | 1 -
releases/release-3.0.10.md | 1 -
releases/release-3.0.11.md | 1 -
releases/release-3.0.12.md | 1 -
releases/release-3.0.13.md | 1 -
releases/release-3.0.14.md | 1 -
releases/release-3.0.15.md | 1 -
releases/release-3.0.16.md | 1 -
releases/release-3.0.2.md | 1 -
releases/release-3.0.3.md | 1 -
releases/release-3.0.4.md | 1 -
releases/release-3.0.5.md | 1 -
releases/release-3.0.6.md | 1 -
releases/release-3.0.7.md | 1 -
releases/release-3.0.8.md | 1 -
releases/release-3.0.9.md | 1 -
releases/release-3.1.0-beta.1.md | 1 -
releases/release-3.1.0-beta.2.md | 1 -
releases/release-3.1.0-beta.md | 1 -
releases/release-3.1.0-ga.md | 1 -
releases/release-3.1.0-rc.md | 1 -
releases/release-3.1.1.md | 1 -
releases/release-3.1.2.md | 1 -
releases/release-4.0-ga.md | 1 -
releases/release-4.0.0-beta.1.md | 1 -
releases/release-4.0.0-beta.2.md | 1 -
releases/release-4.0.0-beta.md | 1 -
releases/release-4.0.0-rc.1.md | 1 -
releases/release-4.0.0-rc.2.md | 1 -
releases/release-4.0.0-rc.md | 1 -
releases/release-4.0.1.md | 1 -
releases/release-4.0.2.md | 1 -
releases/release-notes.md | 1 -
releases/release-pre-ga.md | 1 -
releases/release-rc.1.md | 1 -
releases/release-rc.2.md | 1 -
releases/release-rc.3.md | 1 -
releases/release-rc.4.md | 1 -
report-issue.md | 1 -
roadmap.md | 1 -
role-based-access-control.md | 1 -
scale-tidb-using-tiup.md | 1 -
schedule-replicas-by-topology-labels.md | 1 -
schema-object-names.md | 1 -
security-compatibility-with-mysql.md | 1 -
sql-mode.md | 1 -
sql-optimization-concepts.md | 1 -
sql-plan-management.md | 1 -
sql-statements/sql-statement-add-column.md | 1 -
sql-statements/sql-statement-add-index.md | 1 -
sql-statements/sql-statement-admin.md | 1 -
sql-statements/sql-statement-alter-database.md | 1 -
sql-statements/sql-statement-alter-index.md | 1 -
sql-statements/sql-statement-alter-instance.md | 1 -
sql-statements/sql-statement-alter-table.md | 1 -
sql-statements/sql-statement-alter-user.md | 1 -
sql-statements/sql-statement-analyze-table.md | 1 -
sql-statements/sql-statement-backup.md | 1 -
sql-statements/sql-statement-begin.md | 1 -
sql-statements/sql-statement-change-column.md | 1 -
sql-statements/sql-statement-change-drainer.md | 1 -
sql-statements/sql-statement-change-pump.md | 1 -
sql-statements/sql-statement-commit.md | 1 -
sql-statements/sql-statement-create-binding.md | 1 -
sql-statements/sql-statement-create-database.md | 1 -
sql-statements/sql-statement-create-index.md | 1 -
sql-statements/sql-statement-create-sequence.md | 1 -
sql-statements/sql-statement-create-table-like.md | 1 -
sql-statements/sql-statement-create-table.md | 1 -
sql-statements/sql-statement-create-user.md | 1 -
sql-statements/sql-statement-create-view.md | 1 -
sql-statements/sql-statement-deallocate.md | 1 -
sql-statements/sql-statement-delete.md | 1 -
sql-statements/sql-statement-desc.md | 1 -
sql-statements/sql-statement-describe.md | 1 -
sql-statements/sql-statement-do.md | 1 -
sql-statements/sql-statement-drop-binding.md | 1 -
sql-statements/sql-statement-drop-column.md | 1 -
sql-statements/sql-statement-drop-database.md | 1 -
sql-statements/sql-statement-drop-index.md | 1 -
sql-statements/sql-statement-drop-sequence.md | 1 -
sql-statements/sql-statement-drop-stats.md | 1 -
sql-statements/sql-statement-drop-table.md | 1 -
sql-statements/sql-statement-drop-user.md | 1 -
sql-statements/sql-statement-drop-view.md | 1 -
sql-statements/sql-statement-execute.md | 1 -
sql-statements/sql-statement-explain-analyze.md | 1 -
sql-statements/sql-statement-explain.md | 1 -
sql-statements/sql-statement-flashback-table.md | 1 -
sql-statements/sql-statement-flush-privileges.md | 1 -
sql-statements/sql-statement-flush-status.md | 1 -
sql-statements/sql-statement-flush-tables.md | 1 -
sql-statements/sql-statement-grant-privileges.md | 1 -
sql-statements/sql-statement-insert.md | 1 -
sql-statements/sql-statement-kill.md | 1 -
sql-statements/sql-statement-load-data.md | 1 -
sql-statements/sql-statement-load-stats.md | 1 -
sql-statements/sql-statement-modify-column.md | 1 -
sql-statements/sql-statement-prepare.md | 1 -
sql-statements/sql-statement-recover-table.md | 1 -
sql-statements/sql-statement-rename-index.md | 1 -
sql-statements/sql-statement-rename-table.md | 1 -
sql-statements/sql-statement-replace.md | 1 -
sql-statements/sql-statement-restore.md | 1 -
sql-statements/sql-statement-revoke-privileges.md | 1 -
sql-statements/sql-statement-rollback.md | 1 -
sql-statements/sql-statement-select.md | 1 -
sql-statements/sql-statement-set-names.md | 1 -
sql-statements/sql-statement-set-password.md | 1 -
sql-statements/sql-statement-set-role.md | 1 -
sql-statements/sql-statement-set-transaction.md | 1 -
sql-statements/sql-statement-set-variable.md | 1 -
sql-statements/sql-statement-show-analyze-status.md | 1 -
sql-statements/sql-statement-show-backups.md | 1 -
sql-statements/sql-statement-show-bindings.md | 1 -
sql-statements/sql-statement-show-builtins.md | 1 -
sql-statements/sql-statement-show-character-set.md | 1 -
sql-statements/sql-statement-show-collation.md | 1 -
sql-statements/sql-statement-show-columns-from.md | 1 -
sql-statements/sql-statement-show-config.md | 1 -
sql-statements/sql-statement-show-create-sequence.md | 1 -
sql-statements/sql-statement-show-create-table.md | 1 -
sql-statements/sql-statement-show-create-user.md | 1 -
sql-statements/sql-statement-show-databases.md | 1 -
sql-statements/sql-statement-show-drainer-status.md | 1 -
sql-statements/sql-statement-show-engines.md | 1 -
sql-statements/sql-statement-show-errors.md | 1 -
sql-statements/sql-statement-show-fields-from.md | 1 -
sql-statements/sql-statement-show-grants.md | 1 -
sql-statements/sql-statement-show-histograms.md | 1 -
sql-statements/sql-statement-show-index.md | 1 -
sql-statements/sql-statement-show-indexes.md | 1 -
sql-statements/sql-statement-show-keys.md | 1 -
sql-statements/sql-statement-show-master-status.md | 1 -
sql-statements/sql-statement-show-plugins.md | 1 -
sql-statements/sql-statement-show-privileges.md | 1 -
sql-statements/sql-statement-show-processlist.md | 1 -
sql-statements/sql-statement-show-profiles.md | 1 -
sql-statements/sql-statement-show-pump-status.md | 1 -
sql-statements/sql-statement-show-schemas.md | 1 -
sql-statements/sql-statement-show-stats-meta.md | 1 -
sql-statements/sql-statement-show-status.md | 1 -
sql-statements/sql-statement-show-table-next-rowid.md | 1 -
sql-statements/sql-statement-show-table-regions.md | 1 -
sql-statements/sql-statement-show-table-status.md | 1 -
sql-statements/sql-statement-show-tables.md | 1 -
sql-statements/sql-statement-show-variables.md | 1 -
sql-statements/sql-statement-show-warnings.md | 1 -
sql-statements/sql-statement-shutdown.md | 1 -
sql-statements/sql-statement-split-region.md | 1 -
sql-statements/sql-statement-start-transaction.md | 1 -
sql-statements/sql-statement-trace.md | 1 -
sql-statements/sql-statement-truncate.md | 1 -
sql-statements/sql-statement-update.md | 1 -
sql-statements/sql-statement-use.md | 1 -
statement-summary-tables.md | 1 -
statistics.md | 1 -
support.md | 1 -
sync-diff-inspector/route-diff.md | 1 -
sync-diff-inspector/shard-diff.md | 1 -
sync-diff-inspector/sync-diff-inspector-overview.md | 1 -
sync-diff-inspector/upstream-downstream-diff.md | 1 -
system-variables.md | 1 -
table-filter.md | 1 -
technical-writing-project-ideas.md | 1 -
telemetry.md | 1 -
test-deployment-using-docker.md | 1 -
three-data-centers-in-two-cities-deployment.md | 1 -
ticdc-deployment-topology.md | 1 -
ticdc/manage-ticdc.md | 1 -
ticdc/ticdc-open-protocol.md | 1 -
ticdc/ticdc-overview.md | 1 -
ticdc/troubleshoot-ticdc.md | 1 -
tidb-architecture.md | 1 -
tidb-binlog-deployment-topology.md | 1 -
tidb-binlog/bidirectional-replication-between-tidb-clusters.md | 1 -
tidb-binlog/binlog-consumer-client.md | 1 -
tidb-binlog/binlog-control.md | 1 -
tidb-binlog/deploy-tidb-binlog.md | 1 -
tidb-binlog/get-started-with-tidb-binlog.md | 1 -
tidb-binlog/handle-tidb-binlog-errors.md | 1 -
tidb-binlog/maintain-tidb-binlog-cluster.md | 1 -
tidb-binlog/monitor-tidb-binlog-cluster.md | 1 -
tidb-binlog/tidb-binlog-configuration-file.md | 1 -
tidb-binlog/tidb-binlog-faq.md | 1 -
tidb-binlog/tidb-binlog-glossary.md | 1 -
tidb-binlog/tidb-binlog-overview.md | 1 -
tidb-binlog/tidb-binlog-relay-log.md | 1 -
tidb-binlog/tidb-binlog-reparo.md | 1 -
tidb-binlog/troubleshoot-tidb-binlog.md | 1 -
tidb-binlog/upgrade-tidb-binlog.md | 1 -
tidb-configuration-file.md | 1 -
tidb-control.md | 1 -
tidb-lightning/deploy-tidb-lightning.md | 1 -
tidb-lightning/migrate-from-csv-using-tidb-lightning.md | 1 -
tidb-lightning/monitor-tidb-lightning.md | 1 -
tidb-lightning/tidb-lightning-backends.md | 1 -
tidb-lightning/tidb-lightning-checkpoints.md | 1 -
tidb-lightning/tidb-lightning-configuration.md | 1 -
tidb-lightning/tidb-lightning-faq.md | 1 -
tidb-lightning/tidb-lightning-glossary.md | 1 -
tidb-lightning/tidb-lightning-overview.md | 1 -
tidb-lightning/tidb-lightning-web-interface.md | 1 -
tidb-limitations.md | 1 -
tidb-monitoring-api.md | 1 -
tidb-monitoring-framework.md | 1 -
tidb-troubleshooting-map.md | 1 -
tiflash-deployment-topology.md | 1 -
tiflash/maintain-tiflash.md | 1 -
tiflash/monitor-tiflash.md | 1 -
tiflash/tiflash-alert-rules.md | 1 -
tiflash/tiflash-command-line-flags.md | 1 -
tiflash/tiflash-configuration.md | 1 -
tiflash/tiflash-overview.md | 1 -
tiflash/troubleshoot-tiflash.md | 1 -
tiflash/tune-tiflash-performance.md | 1 -
tiflash/use-tiflash.md | 1 -
tikv-configuration-file.md | 1 -
tikv-control.md | 1 -
tispark-overview.md | 1 -
tiup/tiup-bench.md | 1 -
tiup/tiup-cluster.md | 1 -
tiup/tiup-component-management.md | 1 -
tiup/tiup-documentation-guide.md | 1 -
tiup/tiup-faq.md | 1 -
tiup/tiup-mirror.md | 1 -
tiup/tiup-overview.md | 1 -
tiup/tiup-playground.md | 1 -
tiup/tiup-terminology-and-concepts.md | 1 -
tiup/tiup-troubleshooting-guide.md | 1 -
transaction-isolation-levels.md | 1 -
transaction-overview.md | 1 -
troubleshoot-tidb-cluster.md | 1 -
tune-operating-system.md | 1 -
tune-tikv-memory-performance.md | 1 -
tune-tikv-thread-performance.md | 1 -
upgrade-tidb-using-tiup.md | 1 -
user-account-management.md | 1 -
user-defined-variables.md | 1 -
views.md | 1 -
whats-new-in-tidb-4.0.md | 1 -
459 files changed, 459 deletions(-)
diff --git a/_index.md b/_index.md
index 88c5e09cb09f7..2586f1e236708 100644
--- a/_index.md
+++ b/_index.md
@@ -1,7 +1,6 @@
---
title: TiDB Introduction
summary: Learn about the NewSQL database TiDB that supports HTAP workloads.
-aliases: ['/docs/dev/']
---
# TiDB Introduction
diff --git a/adopters.md b/adopters.md
index aafbe2586ac88..f3e69d2401ade 100644
--- a/adopters.md
+++ b/adopters.md
@@ -1,7 +1,6 @@
---
title: TiDB Adopters
summary: Learn about the list of TiDB adopters in various industries.
-aliases: ['/docs/dev/adopters/']
---
# TiDB Adopters
diff --git a/alert-rules.md b/alert-rules.md
index 783ffa15f0f0a..d74bc1c06b6b5 100644
--- a/alert-rules.md
+++ b/alert-rules.md
@@ -1,7 +1,6 @@
---
title: TiDB Cluster Alert Rules
summary: Learn the alert rules in a TiDB cluster.
-aliases: ['/docs/dev/alert-rules/','/docs/dev/reference/alert-rules/']
---
diff --git a/auto-increment.md b/auto-increment.md
index fad97fe44040b..ecc6f8f16c3fc 100644
--- a/auto-increment.md
+++ b/auto-increment.md
@@ -1,7 +1,6 @@
---
title: AUTO_INCREMENT
summary: Learn the `AUTO_INCREMENT` column attribute of TiDB.
-aliases: ['/docs/dev/auto-increment/']
---
# AUTO_INCREMENT
diff --git a/auto-random.md b/auto-random.md
index d80743d3f9150..fa6ddc070ad08 100644
--- a/auto-random.md
+++ b/auto-random.md
@@ -1,7 +1,6 @@
---
title: AUTO_RANDOM
summary: Learn the AUTO_RANDOM attribute.
-aliases: ['/docs/dev/auto-random/','/docs/dev/reference/sql/attributes/auto-random/']
---
# AUTO_RANDOM New in v3.1.0
diff --git a/backup-and-restore-using-dumpling-lightning.md b/backup-and-restore-using-dumpling-lightning.md
index abb685e3ca38c..48b5eb810e1e2 100644
--- a/backup-and-restore-using-dumpling-lightning.md
+++ b/backup-and-restore-using-dumpling-lightning.md
@@ -1,7 +1,6 @@
---
title: Use Dumpling and TiDB Lightning for Data Backup and Restoration
summary: Introduce how to use Dumpling and TiDB Lightning to backup and restore full data of TiDB.
-aliases: ['/docs/dev/export-or-backup-using-dumpling/','/tidb/dev/export-or-backup-using-dumpling','/docs/dev/backup-and-restore-using-mydumper-lightning/','/docs/dev/how-to/maintain/backup-and-restore/mydumper-lightning/','/docs/dev/how-to/maintain/backup-and-restore/','/tidb/dev/backup-and-restore-using-mydumper-lightning/']
---
# Use Dumpling and TiDB Lightning for Data Backup and Restoration
diff --git a/basic-features.md b/basic-features.md
index 74260e3ff2b49..0415038603ed7 100644
--- a/basic-features.md
+++ b/basic-features.md
@@ -1,7 +1,6 @@
---
title: TiDB Basic Features
summary: Learn about the basic features of TiDB.
-aliases: ['/docs/dev/basic-features/']
---
# TiDB Basic Features
diff --git a/basic-sql-operations.md b/basic-sql-operations.md
index 8cdf0169ca39d..708f56a0c8e7d 100644
--- a/basic-sql-operations.md
+++ b/basic-sql-operations.md
@@ -1,7 +1,6 @@
---
title: Explore SQL with TiDB
summary: Learn about the basic SQL statements for the TiDB database.
-aliases: ['/docs/dev/basic-sql-operations/','/docs/dev/how-to/get-started/explore-sql/']
---
# Explore SQL with TiDB
diff --git a/benchmark/benchmark-sysbench-v2.md b/benchmark/benchmark-sysbench-v2.md
index 24a29886d24f4..854ff67fca78f 100644
--- a/benchmark/benchmark-sysbench-v2.md
+++ b/benchmark/benchmark-sysbench-v2.md
@@ -1,6 +1,5 @@
---
title: TiDB Sysbench Performance Test Report -- v2.0.0 vs. v1.0.0
-aliases: ['/docs/dev/benchmark/benchmark-sysbench-v2/','/docs/dev/benchmark/sysbench-v2/']
---
# TiDB Sysbench Performance Test Report -- v2.0.0 vs. v1.0.0
diff --git a/benchmark/benchmark-sysbench-v3.md b/benchmark/benchmark-sysbench-v3.md
index 38a0c9ba95c16..76eb52a54779c 100644
--- a/benchmark/benchmark-sysbench-v3.md
+++ b/benchmark/benchmark-sysbench-v3.md
@@ -1,6 +1,5 @@
---
title: TiDB Sysbench Performance Test Report -- v2.1 vs. v2.0
-aliases: ['/docs/dev/benchmark/benchmark-sysbench-v3/','/docs/dev/benchmark/sysbench-v3/']
---
# TiDB Sysbench Performance Test Report -- v2.1 vs. v2.0
diff --git a/benchmark/benchmark-sysbench-v4-vs-v3.md b/benchmark/benchmark-sysbench-v4-vs-v3.md
index 9387c91b18cc5..147d53897033f 100644
--- a/benchmark/benchmark-sysbench-v4-vs-v3.md
+++ b/benchmark/benchmark-sysbench-v4-vs-v3.md
@@ -1,7 +1,6 @@
---
title: TiDB Sysbench Performance Test Report -- v4.0 vs. v3.0
summary: Compare the Sysbench performance of TiDB 4.0 and TiDB 3.0.
-aliases: ['/docs/dev/benchmark/benchmark-sysbench-v4-vs-v3/']
---
# TiDB Sysbench Performance Test Report -- v4.0 vs. v3.0
diff --git a/benchmark/benchmark-tidb-using-sysbench.md b/benchmark/benchmark-tidb-using-sysbench.md
index e3130f651b1f4..ee865acc066e3 100644
--- a/benchmark/benchmark-tidb-using-sysbench.md
+++ b/benchmark/benchmark-tidb-using-sysbench.md
@@ -1,6 +1,5 @@
---
title: How to Test TiDB Using Sysbench
-aliases: ['/docs/dev/benchmark/benchmark-tidb-using-sysbench/','/docs/dev/benchmark/how-to-run-sysbench/']
---
# How to Test TiDB Using Sysbench
diff --git a/benchmark/benchmark-tidb-using-tpcc.md b/benchmark/benchmark-tidb-using-tpcc.md
index 95ad33f16f08d..867d35dc599f1 100644
--- a/benchmark/benchmark-tidb-using-tpcc.md
+++ b/benchmark/benchmark-tidb-using-tpcc.md
@@ -1,6 +1,5 @@
---
title: How to Run TPC-C Test on TiDB
-aliases: ['/docs/dev/benchmark/benchmark-tidb-using-tpcc/','/docs/dev/benchmark/how-to-run-tpcc/']
---
# How to Run TPC-C Test on TiDB
diff --git a/benchmark/benchmark-tpch.md b/benchmark/benchmark-tpch.md
index ee2b48fccd9ff..6a15436d0df92 100644
--- a/benchmark/benchmark-tpch.md
+++ b/benchmark/benchmark-tpch.md
@@ -1,6 +1,5 @@
---
title: TiDB TPC-H 50G Performance Test Report V2.0
-aliases: ['/docs/dev/benchmark/benchmark-tpch/','/docs/dev/benchmark/tpch/']
---
# TiDB TPC-H 50G Performance Test Report
diff --git a/benchmark/online-workloads-and-add-index-operations.md b/benchmark/online-workloads-and-add-index-operations.md
index c833a91b56a30..a034cdde819c9 100644
--- a/benchmark/online-workloads-and-add-index-operations.md
+++ b/benchmark/online-workloads-and-add-index-operations.md
@@ -1,7 +1,6 @@
---
title: Interaction Test on Online Workloads and `ADD INDEX` Operations
summary: This document tests the interaction effects between online workloads and `ADD INDEX` operations.
-aliases: ['/docs/dev/benchmark/online-workloads-and-add-index-operations/','/docs/dev/benchmark/add-index-with-load/']
---
# Interaction Test on Online Workloads and `ADD INDEX` Operations
diff --git a/benchmark/v3.0-performance-benchmarking-with-sysbench.md b/benchmark/v3.0-performance-benchmarking-with-sysbench.md
index 86b072025d004..f765d33f669fc 100644
--- a/benchmark/v3.0-performance-benchmarking-with-sysbench.md
+++ b/benchmark/v3.0-performance-benchmarking-with-sysbench.md
@@ -1,6 +1,5 @@
---
title: TiDB Sysbench Performance Test Report -- v3.0 vs. v2.1
-aliases: ['/docs/dev/benchmark/v3.0-performance-benchmarking-with-sysbench/','/docs/dev/benchmark/sysbench-v4/']
---
# TiDB Sysbench Performance Test Report -- v3.0 vs. v2.1
diff --git a/benchmark/v3.0-performance-benchmarking-with-tpcc.md b/benchmark/v3.0-performance-benchmarking-with-tpcc.md
index 920f8efa511e5..7d395905d8a2e 100644
--- a/benchmark/v3.0-performance-benchmarking-with-tpcc.md
+++ b/benchmark/v3.0-performance-benchmarking-with-tpcc.md
@@ -1,6 +1,5 @@
---
title: TiDB TPC-C Performance Test Report -- v3.0 vs. v2.1
-aliases: ['/docs/dev/benchmark/v3.0-performance-benchmarking-with-tpcc/','/docs/dev/benchmark/tpcc/']
---
# TiDB TPC-C Performance Test Report -- v3.0 vs. v2.1
diff --git a/benchmark/v4.0-performance-benchmarking-with-tpcc.md b/benchmark/v4.0-performance-benchmarking-with-tpcc.md
index a654c6103fd63..6938bc06dfc9e 100644
--- a/benchmark/v4.0-performance-benchmarking-with-tpcc.md
+++ b/benchmark/v4.0-performance-benchmarking-with-tpcc.md
@@ -1,7 +1,6 @@
---
title: TiDB TPC-C Performance Test Report -- v4.0 vs. v3.0
summary: Compare the TPC-C performance of TiDB 4.0 and TiDB 3.0 using BenchmarkSQL.
-aliases: ['/docs/dev/benchmark/v4.0-performance-benchmarking-with-tpcc/']
---
# TiDB TPC-C Performance Test Report -- v4.0 vs. v3.0
diff --git a/benchmark/v4.0-performance-benchmarking-with-tpch.md b/benchmark/v4.0-performance-benchmarking-with-tpch.md
index 801db52f05b69..e7364e64b85e7 100644
--- a/benchmark/v4.0-performance-benchmarking-with-tpch.md
+++ b/benchmark/v4.0-performance-benchmarking-with-tpch.md
@@ -1,7 +1,6 @@
---
title: TiDB TPC-H Performance Test Report -- v4.0 vs. v3.0
summary: Compare the TPC-H performance of TiDB 4.0 and TiDB 3.0.
-aliases: ['/docs/dev/benchmark/v4.0-performance-benchmarking-with-tpch/']
---
# TiDB TPC-H Performance Test Report -- v4.0 vs. v3.0
diff --git a/best-practices/grafana-monitor-best-practices.md b/best-practices/grafana-monitor-best-practices.md
index 5fb569a29d538..db78617a018f5 100644
--- a/best-practices/grafana-monitor-best-practices.md
+++ b/best-practices/grafana-monitor-best-practices.md
@@ -1,7 +1,6 @@
---
title: Best Practices for Monitoring TiDB Using Grafana
summary: Learn seven tips for efficiently using Grafana to monitor TiDB.
-aliases: ['/docs/dev/best-practices/grafana-monitor-best-practices/','/docs/dev/reference/best-practices/grafana-monitor/']
---
# Best Practices for Monitoring TiDB Using Grafana
diff --git a/best-practices/haproxy-best-practices.md b/best-practices/haproxy-best-practices.md
index 41b8c11fdf87a..aa37d16ba56b2 100644
--- a/best-practices/haproxy-best-practices.md
+++ b/best-practices/haproxy-best-practices.md
@@ -1,7 +1,6 @@
---
title: Best Practices for Using HAProxy in TiDB
summary: This document describes best practices for configuration and usage of HAProxy in TiDB.
-aliases: ['/docs/dev/best-practices/haproxy-best-practices/','/docs/dev/reference/best-practices/haproxy/']
---
# Best Practices for Using HAProxy in TiDB
diff --git a/best-practices/high-concurrency-best-practices.md b/best-practices/high-concurrency-best-practices.md
index bbca43b1a38d9..5c594d531b5c3 100644
--- a/best-practices/high-concurrency-best-practices.md
+++ b/best-practices/high-concurrency-best-practices.md
@@ -1,7 +1,6 @@
---
title: Highly Concurrent Write Best Practices
summary: Learn best practices for highly-concurrent write-intensive workloads in TiDB.
-aliases: ['/docs/dev/best-practices/high-concurrency-best-practices/','/docs/dev/reference/best-practices/high-concurrency/']
---
# Highly Concurrent Write Best Practices
diff --git a/best-practices/java-app-best-practices.md b/best-practices/java-app-best-practices.md
index fc30f91aaa334..06ea1ef49bccb 100644
--- a/best-practices/java-app-best-practices.md
+++ b/best-practices/java-app-best-practices.md
@@ -1,7 +1,6 @@
---
title: Best Practices for Developing Java Applications with TiDB
summary: Learn the best practices for developing Java applications with TiDB.
-aliases: ['/docs/dev/best-practices/java-app-best-practices/','/docs/dev/reference/best-practices/java-app/']
---
# Best Practices for Developing Java Applications with TiDB
diff --git a/best-practices/massive-regions-best-practices.md b/best-practices/massive-regions-best-practices.md
index 907300b844e74..bc15cc6633b3b 100644
--- a/best-practices/massive-regions-best-practices.md
+++ b/best-practices/massive-regions-best-practices.md
@@ -1,7 +1,6 @@
---
title: Best Practices for TiKV Performance Tuning with Massive Regions
summary: Learn how to tune the performance of TiKV with a massive amount of Regions.
-aliases: ['/docs/dev/best-practices/massive-regions-best-practices/','/docs/dev/reference/best-practices/massive-regions/']
---
# Best Practices for TiKV Performance Tuning with Massive Regions
diff --git a/best-practices/pd-scheduling-best-practices.md b/best-practices/pd-scheduling-best-practices.md
index 91e0b0586b971..e0f0bd813c28f 100644
--- a/best-practices/pd-scheduling-best-practices.md
+++ b/best-practices/pd-scheduling-best-practices.md
@@ -1,7 +1,6 @@
---
title: PD Scheduling Best Practices
summary: Learn best practice and strategy for PD scheduling.
-aliases: ['/docs/dev/best-practices/pd-scheduling-best-practices/','/docs/dev/reference/best-practices/pd-scheduling/']
---
# PD Scheduling Best Practices
diff --git a/best-practices/tidb-best-practices.md b/best-practices/tidb-best-practices.md
index dc5d4d322fd7a..a986a5684d898 100644
--- a/best-practices/tidb-best-practices.md
+++ b/best-practices/tidb-best-practices.md
@@ -1,7 +1,6 @@
---
title: TiDB Best Practices
summary: Learn the best practices of using TiDB.
-aliases: ['/docs/dev/tidb-best-practices/']
---
# TiDB Best Practices
diff --git a/br/backup-and-restore-faq.md b/br/backup-and-restore-faq.md
index 7be170dc49307..4e108f7b341f9 100644
--- a/br/backup-and-restore-faq.md
+++ b/br/backup-and-restore-faq.md
@@ -1,7 +1,6 @@
---
title: Backup & Restore FAQ
summary: Learn about Frequently Asked Questions (FAQ) and the solutions of BR.
-aliases: ['/docs/dev/br/backup-and-restore-faq/']
---
# Backup & Restore FAQ
diff --git a/br/backup-and-restore-storages.md b/br/backup-and-restore-storages.md
index 3db43a531c6d4..368d86b948c4f 100644
--- a/br/backup-and-restore-storages.md
+++ b/br/backup-and-restore-storages.md
@@ -1,7 +1,6 @@
---
title: External Storages
summary: Describes the storage URL format used in BR, TiDB Lightning, and Dumpling.
-aliases: ['/docs/dev/br/backup-and-restore-storages/']
---
# External Storages
diff --git a/br/backup-and-restore-tool.md b/br/backup-and-restore-tool.md
index aea8cad94d936..3faf6f4af668d 100644
--- a/br/backup-and-restore-tool.md
+++ b/br/backup-and-restore-tool.md
@@ -1,7 +1,6 @@
---
title: BR Tool Overview
summary: Learn what is BR and how to use the tool.
-aliases: ['/docs/dev/br/backup-and-restore-tool/','/docs/dev/reference/tools/br/br/','/docs/dev/how-to/maintain/backup-and-restore/br/']
---
# BR Tool Overview
diff --git a/br/backup-and-restore-use-cases.md b/br/backup-and-restore-use-cases.md
index 83170ee5356c1..42f61e981cf7f 100644
--- a/br/backup-and-restore-use-cases.md
+++ b/br/backup-and-restore-use-cases.md
@@ -1,7 +1,6 @@
---
title: BR Use Cases
summary: Learn the use cases of backing up and restoring data using BR.
-aliases: ['/docs/dev/br/backup-and-restore-use-cases/','/docs/dev/reference/tools/br/use-cases/']
---
# BR Use Cases
diff --git a/certificate-authentication.md b/certificate-authentication.md
index 4563ee0a6c2d9..894c3d74c1067 100644
--- a/certificate-authentication.md
+++ b/certificate-authentication.md
@@ -1,7 +1,6 @@
---
title: Certificate-Based Authentication for Login
summary: Learn the certificate-based authentication used for login.
-aliases: ['/docs/dev/certificate-authentication/','/docs/dev/reference/security/cert-based-authentication/']
---
# Certificate-Based Authentication for Login
diff --git a/character-set-and-collation.md b/character-set-and-collation.md
index 96aa2faccc6b9..f910d72dea570 100644
--- a/character-set-and-collation.md
+++ b/character-set-and-collation.md
@@ -1,7 +1,6 @@
---
title: Character Set and Collation
summary: Learn about the supported character sets and collations in TiDB.
-aliases: ['/docs/dev/character-set-and-collation/','/docs/dev/reference/sql/characterset-and-collation/','/docs/dev/reference/sql/character-set/']
---
# Character Set and Collation
diff --git a/check-before-deployment.md b/check-before-deployment.md
index b231971fbd262..af0a60d0b8541 100644
--- a/check-before-deployment.md
+++ b/check-before-deployment.md
@@ -1,7 +1,6 @@
---
title: TiDB Environment and System Configuration Check
summary: Learn the environment check operations before deploying TiDB.
-aliases: ['/docs/dev/check-before-deployment/']
---
# TiDB Environment and System Configuration Check
diff --git a/command-line-flags-for-pd-configuration.md b/command-line-flags-for-pd-configuration.md
index bf0425f0304e7..1c7a60feb05ba 100644
--- a/command-line-flags-for-pd-configuration.md
+++ b/command-line-flags-for-pd-configuration.md
@@ -1,7 +1,6 @@
---
title: PD Configuration Flags
summary: Learn some configuration flags of PD.
-aliases: ['/docs/dev/command-line-flags-for-pd-configuration/','/docs/dev/reference/configuration/pd-server/configuration/']
---
# PD Configuration Flags
diff --git a/command-line-flags-for-tidb-configuration.md b/command-line-flags-for-tidb-configuration.md
index a6a7e05f50b5d..f87cae84fc7a7 100644
--- a/command-line-flags-for-tidb-configuration.md
+++ b/command-line-flags-for-tidb-configuration.md
@@ -1,7 +1,6 @@
---
title: Configuration Options
summary: Learn the configuration options in TiDB.
-aliases: ['/docs/dev/command-line-flags-for-tidb-configuration/','/docs/dev/reference/configuration/tidb-server/configuration/','/docs/dev/reference/configuration/tidb-server/server-command-option/']
---
# Configuration Options
diff --git a/command-line-flags-for-tikv-configuration.md b/command-line-flags-for-tikv-configuration.md
index dd6d7009c7172..4cb493e9f809f 100644
--- a/command-line-flags-for-tikv-configuration.md
+++ b/command-line-flags-for-tikv-configuration.md
@@ -1,7 +1,6 @@
---
title: TiKV Configuration Flags
summary: Learn some configuration flags of TiKV.
-aliases: ['/docs/dev/command-line-flags-for-tikv-configuration/','/docs/dev/reference/configuration/tikv-server/configuration/']
---
# TiKV Configuration Flags
diff --git a/comment-syntax.md b/comment-syntax.md
index 0d37b47bb2cf7..b6f756b7887fe 100644
--- a/comment-syntax.md
+++ b/comment-syntax.md
@@ -1,7 +1,6 @@
---
title: Comment Syntax
summary: This document introduces the comment syntax supported by TiDB.
-aliases: ['/docs/dev/comment-syntax/','/docs/dev/reference/sql/language-structure/comment-syntax/']
---
# Comment Syntax
diff --git a/community.md b/community.md
index 9c8df45371ed1..88853b32707cc 100644
--- a/community.md
+++ b/community.md
@@ -1,7 +1,6 @@
---
title: Connect with us
summary: Learn about how to connect with us.
-aliases: ['/docs/dev/community/']
---
# Connect with Us
diff --git a/configure-load-base-split.md b/configure-load-base-split.md
index 1e264047bdb09..c242fc52e0d06 100644
--- a/configure-load-base-split.md
+++ b/configure-load-base-split.md
@@ -1,7 +1,6 @@
---
title: Load Base Split
summary: Learn the feature of Load Base Split.
-aliases: ['/docs/dev/configure-load-base-split/']
---
# Load Base Split
diff --git a/configure-memory-usage.md b/configure-memory-usage.md
index 1fb8d7c80ab96..331cb66f11238 100644
--- a/configure-memory-usage.md
+++ b/configure-memory-usage.md
@@ -1,7 +1,6 @@
---
title: TiDB Memory Control
summary: Learn how to configure the memory quota of a query and avoid OOM (out of memory).
-aliases: ['/docs/dev/configure-memory-usage/','/docs/dev/how-to/configure/memory-control/']
---
# TiDB Memory Control
diff --git a/configure-placement-rules.md b/configure-placement-rules.md
index f339b1a4411b7..6b244a05b0416 100644
--- a/configure-placement-rules.md
+++ b/configure-placement-rules.md
@@ -1,7 +1,6 @@
---
title: Placement Rules
summary: Learn how to configure Placement Rules.
-aliases: ['/docs/dev/configure-placement-rules/','/docs/dev/how-to/configure/placement-rules/']
---
# Placement Rules
diff --git a/configure-store-limit.md b/configure-store-limit.md
index 4fcde097207ef..fcbddf5875ea1 100644
--- a/configure-store-limit.md
+++ b/configure-store-limit.md
@@ -1,7 +1,6 @@
---
title: Store Limit
summary: Learn the feature of Store Limit.
-aliases: ['/docs/dev/configure-store-limit/']
---
# Store Limit
diff --git a/configure-time-zone.md b/configure-time-zone.md
index e46147e0bea8c..512895986b655 100644
--- a/configure-time-zone.md
+++ b/configure-time-zone.md
@@ -1,7 +1,6 @@
---
title: Time Zone Support
summary: Learn how to set the time zone and its format.
-aliases: ['/docs/dev/configure-time-zone/','/docs/dev/how-to/configure/time-zone/']
---
# Time Zone Support
diff --git a/connectors-and-apis.md b/connectors-and-apis.md
index 444af731e8eb0..778f4f0b5f185 100644
--- a/connectors-and-apis.md
+++ b/connectors-and-apis.md
@@ -1,7 +1,6 @@
---
title: Connectors and APIs
summary: Learn about the connectors and APIs.
-aliases: ['/docs/dev/connectors-and-apis/','/docs/dev/reference/supported-clients/']
---
# Connectors and APIs
diff --git a/constraints.md b/constraints.md
index 564ff67452293..784e813d9d0ed 100644
--- a/constraints.md
+++ b/constraints.md
@@ -1,7 +1,6 @@
---
title: Constraints
summary: Learn how SQL Constraints apply to TiDB.
-aliases: ['/docs/dev/constraints/','/docs/dev/reference/sql/constraints/']
---
# Constraints
diff --git a/coprocessor-cache.md b/coprocessor-cache.md
index 2aa9de69baf05..ec5cc426a4781 100644
--- a/coprocessor-cache.md
+++ b/coprocessor-cache.md
@@ -1,7 +1,6 @@
---
title: Coprocessor Cache
summary: Learn the features of Coprocessor Cache.
-aliases: ['/docs/dev/coprocessor-cache/']
---
# Coprocessor Cache
diff --git a/daily-check.md b/daily-check.md
index 351e428a5702a..7e4dbde5e262b 100644
--- a/daily-check.md
+++ b/daily-check.md
@@ -1,7 +1,6 @@
---
title: Daily Check
summary: Learn about performance indicators of the TiDB cluster.
-aliases: ['/docs/dev/daily-check/']
---
# Daily Check
diff --git a/dashboard/dashboard-access.md b/dashboard/dashboard-access.md
index 7bc968f02e23b..cf0cdd096afb8 100644
--- a/dashboard/dashboard-access.md
+++ b/dashboard/dashboard-access.md
@@ -1,7 +1,6 @@
---
title: Access TiDB Dashboard
summary: Learn how to access TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-access/']
---
# Access TiDB Dashboard
diff --git a/dashboard/dashboard-cluster-info.md b/dashboard/dashboard-cluster-info.md
index 40d8e604a36f5..d596425316646 100644
--- a/dashboard/dashboard-cluster-info.md
+++ b/dashboard/dashboard-cluster-info.md
@@ -1,7 +1,6 @@
---
title: TiDB Dashboard Cluster Information Page
summary: View the running status of TiDB, TiKV, PD, TiFlash components in the entire cluster and the running status of the host on which these components are located.
-aliases: ['/docs/dev/dashboard/dashboard-cluster-info/']
---
# TiDB Dashboard Cluster Information Page
diff --git a/dashboard/dashboard-diagnostics-access.md b/dashboard/dashboard-diagnostics-access.md
index ce064392e9679..d4ce82e564df0 100644
--- a/dashboard/dashboard-diagnostics-access.md
+++ b/dashboard/dashboard-diagnostics-access.md
@@ -1,7 +1,6 @@
---
title: TiDB Dashboard Cluster Diagnostic Page
summary: Learn how to use the cluster diagnostic page.
-aliases: ['/docs/dev/dashboard/dashboard-diagnostics-access/']
---
# TiDB Dashboard Cluster Diagnostics Page
diff --git a/dashboard/dashboard-diagnostics-report.md b/dashboard/dashboard-diagnostics-report.md
index bd334978aa97c..f96fef3d6d886 100644
--- a/dashboard/dashboard-diagnostics-report.md
+++ b/dashboard/dashboard-diagnostics-report.md
@@ -1,7 +1,6 @@
---
title: TiDB Dashboard Diagnostic Report
summary: Learn the TiDB Dashboard diagnostic report.
-aliases: ['/docs/dev/dashboard/dashboard-diagnostics-report/']
---
# TiDB Dashboard Diagnostic Report
diff --git a/dashboard/dashboard-diagnostics-usage.md b/dashboard/dashboard-diagnostics-usage.md
index 918270171d24a..05cbce0c7a3db 100644
--- a/dashboard/dashboard-diagnostics-usage.md
+++ b/dashboard/dashboard-diagnostics-usage.md
@@ -1,7 +1,6 @@
---
title: Locate Problems Using Diagnostic Report of TiDB Dashboard
summary: Learn how to locate problems using diagnostic report of TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-diagnostics-usage/']
---
# Locate Problems Using Diagnostic Report of TiDB Dashboard
diff --git a/dashboard/dashboard-faq.md b/dashboard/dashboard-faq.md
index e0aeb8ff2d53d..51985551d03e3 100644
--- a/dashboard/dashboard-faq.md
+++ b/dashboard/dashboard-faq.md
@@ -1,7 +1,6 @@
---
title: TiDB Dashboard FAQ
summary: Learn about the frequently asked questions (FAQs) and answers about TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-faq/']
---
# TiDB Dashboard FAQ
diff --git a/dashboard/dashboard-intro.md b/dashboard/dashboard-intro.md
index bd3a761704828..b7eacffc2c39c 100644
--- a/dashboard/dashboard-intro.md
+++ b/dashboard/dashboard-intro.md
@@ -1,7 +1,6 @@
---
title: TiDB Dashboard Introduction
summary: Introduce TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-intro/']
---
# TiDB Dashboard Introduction
diff --git a/dashboard/dashboard-key-visualizer.md b/dashboard/dashboard-key-visualizer.md
index db7c1984187c3..2ddcaba30acd1 100644
--- a/dashboard/dashboard-key-visualizer.md
+++ b/dashboard/dashboard-key-visualizer.md
@@ -1,7 +1,6 @@
---
title: Key Visualizer Page
summary: Learn how to use Key Visualizer to monitor traffic.
-aliases: ['/docs/dev/dashboard/dashboard-key-visualizer/','/docs/dev/key-visualizer-monitoring-tool/']
---
# Key Visualizer Page
diff --git a/dashboard/dashboard-log-search.md b/dashboard/dashboard-log-search.md
index 380a9149e3379..4f3be22a22b8f 100644
--- a/dashboard/dashboard-log-search.md
+++ b/dashboard/dashboard-log-search.md
@@ -1,7 +1,6 @@
---
title: TiDB Dashboard Log Search Page
summary: Learn how to search logs of all nodes using the log search page of TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-log-search/']
---
# TiDB Dashboard Log Search Page
diff --git a/dashboard/dashboard-ops-deploy.md b/dashboard/dashboard-ops-deploy.md
index aa30eb8392e92..396852c3e1616 100644
--- a/dashboard/dashboard-ops-deploy.md
+++ b/dashboard/dashboard-ops-deploy.md
@@ -1,7 +1,6 @@
---
title: Deploy TiDB Dashboard
summary: Learn how to deploy TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-ops-deploy/']
---
# Deploy TiDB Dashboard
diff --git a/dashboard/dashboard-ops-reverse-proxy.md b/dashboard/dashboard-ops-reverse-proxy.md
index 0538b7f79db81..100265d5ff4e7 100644
--- a/dashboard/dashboard-ops-reverse-proxy.md
+++ b/dashboard/dashboard-ops-reverse-proxy.md
@@ -1,6 +1,5 @@
---
title: Use TiDB Dashboard behind a Reverse Proxy
-aliases: ['/docs/dev/dashboard/dashboard-ops-reverse-proxy/']
---
# Use TiDB Dashboard behind a Reverse Proxy
diff --git a/dashboard/dashboard-ops-security.md b/dashboard/dashboard-ops-security.md
index 7f334f784f829..bc79db0b57e97 100644
--- a/dashboard/dashboard-ops-security.md
+++ b/dashboard/dashboard-ops-security.md
@@ -1,7 +1,6 @@
---
title: Secure TiDB Dashboard
summary: Learn how to improve the security of TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-ops-security/']
---
# Secure TiDB Dashboard
diff --git a/dashboard/dashboard-overview.md b/dashboard/dashboard-overview.md
index baa49107e5ba8..30bbe40aa080c 100644
--- a/dashboard/dashboard-overview.md
+++ b/dashboard/dashboard-overview.md
@@ -1,7 +1,6 @@
---
title: Overview Page
summary: Learn the overview page of TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-overview/']
---
# Overview Page
diff --git a/dashboard/dashboard-profiling.md b/dashboard/dashboard-profiling.md
index d477b06e0e0c7..2e1fbf7376b88 100644
--- a/dashboard/dashboard-profiling.md
+++ b/dashboard/dashboard-profiling.md
@@ -1,7 +1,6 @@
---
title: Instance Profiling Page
summary: Learn the instance profiling page of TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-profiling/']
---
# Instance Profiling Page
diff --git a/dashboard/dashboard-slow-query.md b/dashboard/dashboard-slow-query.md
index 0c6d5d9521f9a..0f4575d3ccebd 100644
--- a/dashboard/dashboard-slow-query.md
+++ b/dashboard/dashboard-slow-query.md
@@ -1,7 +1,6 @@
---
title: Slow Queries Page of TiDB Dashboard
summary: Learn the Slow Queries page of TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-slow-query/']
---
# Slow Queries Page of TiDB Dashboard
diff --git a/dashboard/dashboard-statement-details.md b/dashboard/dashboard-statement-details.md
index ee1de3f70190d..ea39f49ba92d2 100644
--- a/dashboard/dashboard-statement-details.md
+++ b/dashboard/dashboard-statement-details.md
@@ -1,7 +1,6 @@
---
title: Statement Execution Details of TiDB Dashboard
summary: View the execution details of a single SQL statement in TiDB Dashboard.
-aliases: ['/docs/dev/dashboard/dashboard-statement-details/']
---
# Statement Execution Details of TiDB Dashboard
diff --git a/dashboard/dashboard-statement-list.md b/dashboard/dashboard-statement-list.md
index 93223fbb2a1f5..ff7daba035e9d 100644
--- a/dashboard/dashboard-statement-list.md
+++ b/dashboard/dashboard-statement-list.md
@@ -1,7 +1,6 @@
---
title: SQL Statements Page of TiDB Dashboard
summary: View the execution status of all SQL statements in the TiDB cluster.
-aliases: ['/docs/dev/dashboard/dashboard-statement-list/']
---
# SQL Statements Page of TiDB Dashboard
diff --git a/data-type-date-and-time.md b/data-type-date-and-time.md
index 6604e248a5d04..883decbf1b797 100644
--- a/data-type-date-and-time.md
+++ b/data-type-date-and-time.md
@@ -1,7 +1,6 @@
---
title: Date and Time Types
summary: Learn about the supported date and time types.
-aliases: ['/docs/dev/data-type-date-and-time/','/docs/dev/reference/sql/data-types/date-and-time/']
---
# Date and Time Types
diff --git a/data-type-default-values.md b/data-type-default-values.md
index be1e547958f85..24f498902fc27 100644
--- a/data-type-default-values.md
+++ b/data-type-default-values.md
@@ -1,7 +1,6 @@
---
title: TiDB Data Type
summary: Learn about default values for data types in TiDB.
-aliases: ['/docs/dev/data-type-default-values/','/docs/dev/reference/sql/data-types/default-values/']
---
# Default Values
diff --git a/data-type-json.md b/data-type-json.md
index 7e3c6f0558ca9..1282feb5bf214 100644
--- a/data-type-json.md
+++ b/data-type-json.md
@@ -1,7 +1,6 @@
---
title: TiDB Data Type
summary: Learn about the JSON data type in TiDB.
-aliases: ['/docs/dev/data-type-json/','/docs/dev/reference/sql/data-types/json/']
---
# JSON Type
diff --git a/data-type-numeric.md b/data-type-numeric.md
index c54dfb6850e56..2def903f8d918 100644
--- a/data-type-numeric.md
+++ b/data-type-numeric.md
@@ -1,7 +1,6 @@
---
title: Numeric Types
summary: Learn about numeric data types supported in TiDB.
-aliases: ['/docs/dev/data-type-numeric/','/docs/dev/reference/sql/data-types/numeric/']
---
# Numeric Types
diff --git a/data-type-overview.md b/data-type-overview.md
index bc0adfe045dc5..28fe7591ea82b 100644
--- a/data-type-overview.md
+++ b/data-type-overview.md
@@ -1,7 +1,6 @@
---
title: Data Types
summary: Learn about the data types supported in TiDB.
-aliases: ['/docs/dev/data-type-overview/','/docs/dev/reference/sql/data-types/overview/']
---
# Data Types
diff --git a/data-type-string.md b/data-type-string.md
index 1269b739deb61..8f08963cc534d 100644
--- a/data-type-string.md
+++ b/data-type-string.md
@@ -1,7 +1,6 @@
---
title: String types
summary: Learn about the string types supported in TiDB.
-aliases: ['/docs/dev/data-type-string/','/docs/dev/reference/sql/data-types/string/']
---
# String Types
diff --git a/deploy-monitoring-services.md b/deploy-monitoring-services.md
index c7a079e40fd47..c0f3fd2936d1c 100644
--- a/deploy-monitoring-services.md
+++ b/deploy-monitoring-services.md
@@ -1,7 +1,6 @@
---
title: Deploy Monitoring Services for the TiDB Cluster
summary: Learn how to deploy monitoring services for the TiDB cluster.
-aliases: ['/docs/dev/deploy-monitoring-services/','/docs/dev/how-to/monitor/monitor-a-cluster/','/docs/dev/monitor-a-tidb-cluster/']
---
# Deploy Monitoring Services for the TiDB Cluster
diff --git a/deploy-test-cluster-using-docker-compose.md b/deploy-test-cluster-using-docker-compose.md
index 4ee24748070ec..9594cb9339a22 100644
--- a/deploy-test-cluster-using-docker-compose.md
+++ b/deploy-test-cluster-using-docker-compose.md
@@ -1,7 +1,6 @@
---
title: TiDB Docker Compose Deployment
summary: Use Docker Compose to quickly deploy a TiDB testing cluster.
-aliases: ['/docs/dev/deploy-test-cluster-using-docker-compose/','/docs/dev/how-to/get-started/deploy-tidb-from-docker-compose/']
---
# TiDB Docker Compose Deployment
diff --git a/download-ecosystem-tools.md b/download-ecosystem-tools.md
index 73f9e25a1deb0..9fe98da24c3c9 100644
--- a/download-ecosystem-tools.md
+++ b/download-ecosystem-tools.md
@@ -1,7 +1,6 @@
---
title: Download
summary: Download the most officially maintained versions of TiDB enterprise tools.
-aliases: ['/docs/dev/download-ecosystem-tools/','/docs/dev/reference/tools/download/']
---
# Download
diff --git a/dumpling-overview.md b/dumpling-overview.md
index 0a9b4dd59eeb1..b04be9b479769 100644
--- a/dumpling-overview.md
+++ b/dumpling-overview.md
@@ -1,7 +1,6 @@
---
title: Dumpling Overview
summary: Use the Dumpling tool to export data from TiDB.
-aliases: ['/docs/dev/mydumper-overview/','/docs/dev/reference/tools/mydumper/','/tidb/dev/mydumper-overview/']
---
# Dumpling Overview
diff --git a/dynamic-config.md b/dynamic-config.md
index af0791432b65e..49641e05c4642 100644
--- a/dynamic-config.md
+++ b/dynamic-config.md
@@ -1,7 +1,6 @@
---
title: Modify Configuration Online
summary: Learn how to change the cluster configuration online.
-aliases: ['/docs/dev/dynamic-config/']
---
# Modify Configuration Online
diff --git a/ecosystem-tool-user-case.md b/ecosystem-tool-user-case.md
index a497aa144836d..a7170bed87929 100644
--- a/ecosystem-tool-user-case.md
+++ b/ecosystem-tool-user-case.md
@@ -1,7 +1,6 @@
---
title: TiDB Ecosystem Tools Use Cases
summary: Learn the common use cases of TiDB ecosystem tools and how to choose the tools.
-aliases: ['/docs/dev/ecosystem-tool-user-case/']
---
# TiDB Ecosystem Tools Use Cases
diff --git a/ecosystem-tool-user-guide.md b/ecosystem-tool-user-guide.md
index 30512618774c1..b95719733decb 100644
--- a/ecosystem-tool-user-guide.md
+++ b/ecosystem-tool-user-guide.md
@@ -1,6 +1,5 @@
---
title: TiDB Ecosystem Tools Overview
-aliases: ['/docs/dev/ecosystem-tool-user-guide/','/docs/dev/reference/tools/user-guide/','/docs/dev/how-to/migrate/from-mysql/','/docs/dev/how-to/migrate/incrementally-from-mysql/','/docs/dev/how-to/migrate/overview/']
---
# TiDB Ecosystem Tools Overview
diff --git a/enable-tls-between-clients-and-servers.md b/enable-tls-between-clients-and-servers.md
index 06994c28b7dd5..b1d74a5f60e8e 100644
--- a/enable-tls-between-clients-and-servers.md
+++ b/enable-tls-between-clients-and-servers.md
@@ -1,7 +1,6 @@
---
title: Enable TLS Between TiDB Clients and Servers
summary: Use the encrypted connection to ensure data security.
-aliases: ['/docs/dev/enable-tls-between-clients-and-servers/','/docs/dev/how-to/secure/enable-tls-clients/','/docs/dev/encrypted-connections-with-tls-protocols/']
---
# Enable TLS between TiDB Clients and Servers
diff --git a/enable-tls-between-components.md b/enable-tls-between-components.md
index 292f60cfd1cfb..8a4644cd33773 100644
--- a/enable-tls-between-components.md
+++ b/enable-tls-between-components.md
@@ -1,7 +1,6 @@
---
title: Enable TLS Between TiDB Components
summary: Learn how to enable TLS authentication between TiDB components.
-aliases: ['/docs/dev/enable-tls-between-components/','/docs/dev/how-to/secure/enable-tls-between-components/']
---
# Enable TLS Between TiDB Components
diff --git a/encryption-at-rest.md b/encryption-at-rest.md
index 251a31f12d3be..0cdd607955a7e 100644
--- a/encryption-at-rest.md
+++ b/encryption-at-rest.md
@@ -1,7 +1,6 @@
---
title: Encryption at Rest
summary: Learn how to enable encryption at rest to protect sensitive data.
-aliases: ['/docs/dev/encryption at rest/']
---
# Encryption at Rest New in v4.0.0
diff --git a/error-codes.md b/error-codes.md
index 6867b930ba12e..4d411bc1cda9b 100644
--- a/error-codes.md
+++ b/error-codes.md
@@ -1,7 +1,6 @@
---
title: Error Codes and Troubleshooting
summary: Learn about the error codes and solutions in TiDB.
-aliases: ['/docs/dev/error-codes/','/docs/dev/reference/error-codes/']
---
# Error Codes and Troubleshooting
diff --git a/experimental-features.md b/experimental-features.md
index 9f77f5cf18f9f..0b9bcc0ca7771 100644
--- a/experimental-features.md
+++ b/experimental-features.md
@@ -1,7 +1,6 @@
---
title: TiDB Experimental Features
summary: Learn the experimental features of TiDB.
-aliases: ['/tidb/dev/experimental-features-4.0/']
---
# TiDB Experimental Features
diff --git a/explain-overview.md b/explain-overview.md
index 1d6548683e84d..4cf2a853e07b4 100644
--- a/explain-overview.md
+++ b/explain-overview.md
@@ -1,7 +1,6 @@
---
title: EXPLAIN Overview
summary: Learn about the execution plan information returned by the `EXPLAIN` statement in TiDB.
-aliases: ['/docs/dev/query-execution-plan/','/docs/dev/reference/performance/understanding-the-query-execution-plan/','/docs/dev/index-merge/','/docs/dev/reference/performance/index-merge/','/tidb/dev/index-merge','/tidb/dev/query-execution-plan']
---
# `EXPLAIN` Overview
diff --git a/expression-syntax.md b/expression-syntax.md
index 09489d4f95975..633da80f6caf9 100644
--- a/expression-syntax.md
+++ b/expression-syntax.md
@@ -1,7 +1,6 @@
---
title: Expression Syntax
summary: Learn about the expression syntax in TiDB.
-aliases: ['/docs/dev/expression-syntax/','/docs/dev/reference/sql/language-structure/expression-syntax/']
---
# Expression Syntax
diff --git a/faq/tidb-faq.md b/faq/tidb-faq.md
index f757286e9ad4e..ac31111c9f177 100644
--- a/faq/tidb-faq.md
+++ b/faq/tidb-faq.md
@@ -1,7 +1,6 @@
---
title: TiDB FAQ
summary: Learn about the most frequently asked questions (FAQs) relating to TiDB.
-aliases: ['/docs/dev/faq/tidb-faq/','/docs/dev/faq/tidb/','/docs/dev/tiflash/tiflash-faq/','/docs/dev/reference/tiflash/faq/','/tidb/dev/tiflash-faq']
---
# TiDB FAQ
diff --git a/faq/upgrade-faq.md b/faq/upgrade-faq.md
index add8cb45950b5..b9414ec832b45 100644
--- a/faq/upgrade-faq.md
+++ b/faq/upgrade-faq.md
@@ -1,7 +1,6 @@
---
title: Upgrade and After Upgrade FAQs
summary: Learn about some FAQs and the solutions during and after upgrading TiDB.
-aliases: ['/docs/dev/faq/upgrade-faq/','/docs/dev/faq/upgrade/']
---
# Upgrade and After Upgrade FAQs
diff --git a/follower-read.md b/follower-read.md
index f35de7a95f9a1..fdc20d9236fb5 100644
--- a/follower-read.md
+++ b/follower-read.md
@@ -1,7 +1,6 @@
---
title: Follower Read
summary: This document describes the use and implementation of Follower Read.
-aliases: ['/docs/dev/follower-read/','/docs/dev/reference/performance/follower-read/']
---
# Follower Read
diff --git a/functions-and-operators/aggregate-group-by-functions.md b/functions-and-operators/aggregate-group-by-functions.md
index c03228d8e4b23..6a725a1b9964a 100644
--- a/functions-and-operators/aggregate-group-by-functions.md
+++ b/functions-and-operators/aggregate-group-by-functions.md
@@ -1,7 +1,6 @@
---
title: Aggregate (GROUP BY) Functions
summary: Learn about the supported aggregate functions in TiDB.
-aliases: ['/docs/dev/functions-and-operators/aggregate-group-by-functions/','/docs/dev/reference/sql/functions-and-operators/aggregate-group-by-functions/']
---
# Aggregate (GROUP BY) Functions
diff --git a/functions-and-operators/bit-functions-and-operators.md b/functions-and-operators/bit-functions-and-operators.md
index 47721777d469a..88b9cee21a511 100644
--- a/functions-and-operators/bit-functions-and-operators.md
+++ b/functions-and-operators/bit-functions-and-operators.md
@@ -1,7 +1,6 @@
---
title: Bit Functions and Operators
summary: Learn about the bit functions and operators.
-aliases: ['/docs/dev/functions-and-operators/bit-functions-and-operators/','/docs/dev/reference/sql/functions-and-operators/bit-functions-and-operators/']
---
# Bit Functions and Operators
diff --git a/functions-and-operators/cast-functions-and-operators.md b/functions-and-operators/cast-functions-and-operators.md
index ce27f4076131c..8642d90ff7f48 100644
--- a/functions-and-operators/cast-functions-and-operators.md
+++ b/functions-and-operators/cast-functions-and-operators.md
@@ -1,7 +1,6 @@
---
title: Cast Functions and Operators
summary: Learn about the cast functions and operators.
-aliases: ['/docs/dev/functions-and-operators/cast-functions-and-operators/','/docs/dev/reference/sql/functions-and-operators/cast-functions-and-operators/']
---
# Cast Functions and Operators
diff --git a/functions-and-operators/control-flow-functions.md b/functions-and-operators/control-flow-functions.md
index a2508224fa2bd..a64c523e38551 100644
--- a/functions-and-operators/control-flow-functions.md
+++ b/functions-and-operators/control-flow-functions.md
@@ -1,7 +1,6 @@
---
title: Control Flow Functions
summary: Learn about the Control Flow functions.
-aliases: ['/docs/dev/functions-and-operators/control-flow-functions/','/docs/dev/reference/sql/functions-and-operators/control-flow-functions/']
---
# Control Flow Functions
diff --git a/functions-and-operators/date-and-time-functions.md b/functions-and-operators/date-and-time-functions.md
index eeef80249f96a..c96bce09f0032 100644
--- a/functions-and-operators/date-and-time-functions.md
+++ b/functions-and-operators/date-and-time-functions.md
@@ -1,7 +1,6 @@
---
title: Date and Time Functions
summary: Learn how to use the data and time functions.
-aliases: ['/docs/dev/functions-and-operators/date-and-time-functions/','/docs/dev/reference/sql/functions-and-operators/date-and-time-functions/']
---
# Date and Time Functions
diff --git a/functions-and-operators/encryption-and-compression-functions.md b/functions-and-operators/encryption-and-compression-functions.md
index 837b051aa82a5..811a38d19f6d2 100644
--- a/functions-and-operators/encryption-and-compression-functions.md
+++ b/functions-and-operators/encryption-and-compression-functions.md
@@ -1,7 +1,6 @@
---
title: Encryption and Compression Functions
summary: Learn about the encryption and compression functions.
-aliases: ['/docs/dev/functions-and-operators/encryption-and-compression-functions/','/docs/dev/reference/sql/functions-and-operators/encryption-and-compression-functions/']
---
# Encryption and Compression Functions
diff --git a/functions-and-operators/expressions-pushed-down.md b/functions-and-operators/expressions-pushed-down.md
index 2374e2ed61b57..72bf104f5e17c 100644
--- a/functions-and-operators/expressions-pushed-down.md
+++ b/functions-and-operators/expressions-pushed-down.md
@@ -1,7 +1,6 @@
---
title: List of Expressions for Pushdown
summary: Learn a list of expressions that can be pushed down to TiKV and the related operations.
-aliases: ['/docs/dev/functions-and-operators/expressions-pushed-down/','/docs/dev/reference/sql/functions-and-operators/expressions-pushed-down/']
---
# List of Expressions for Pushdown
diff --git a/functions-and-operators/functions-and-operators-overview.md b/functions-and-operators/functions-and-operators-overview.md
index 63ec06160700f..88e914256de8e 100644
--- a/functions-and-operators/functions-and-operators-overview.md
+++ b/functions-and-operators/functions-and-operators-overview.md
@@ -1,7 +1,6 @@
---
title: Function and Operator Reference
summary: Learn how to use the functions and operators.
-aliases: ['/docs/dev/functions-and-operators/functions-and-operators-overview/','/docs/dev/reference/sql/functions-and-operators/reference/']
---
# Function and Operator Reference
diff --git a/functions-and-operators/information-functions.md b/functions-and-operators/information-functions.md
index 575518326a0ec..cfe768b7c4860 100644
--- a/functions-and-operators/information-functions.md
+++ b/functions-and-operators/information-functions.md
@@ -1,7 +1,6 @@
---
title: Information Functions
summary: Learn about the information functions.
-aliases: ['/docs/dev/functions-and-operators/information-functions/','/docs/dev/reference/sql/functions-and-operators/information-functions/']
---
# Information Functions
diff --git a/functions-and-operators/json-functions.md b/functions-and-operators/json-functions.md
index f34d88dcd6296..9fb3ee4b24cde 100644
--- a/functions-and-operators/json-functions.md
+++ b/functions-and-operators/json-functions.md
@@ -1,7 +1,6 @@
---
title: JSON Functions
summary: Learn about JSON functions.
-aliases: ['/docs/dev/functions-and-operators/json-functions/','/docs/dev/reference/sql/functions-and-operators/json-functions/']
---
# JSON Functions
diff --git a/functions-and-operators/miscellaneous-functions.md b/functions-and-operators/miscellaneous-functions.md
index 97c346dfa254e..ec905a68cae18 100644
--- a/functions-and-operators/miscellaneous-functions.md
+++ b/functions-and-operators/miscellaneous-functions.md
@@ -1,7 +1,6 @@
---
title: Miscellaneous Functions
summary: Learn about miscellaneous functions in TiDB.
-aliases: ['/docs/dev/functions-and-operators/miscellaneous-functions/','/docs/dev/reference/sql/functions-and-operators/miscellaneous-functions/']
---
# Miscellaneous Functions
diff --git a/functions-and-operators/numeric-functions-and-operators.md b/functions-and-operators/numeric-functions-and-operators.md
index ff6c4a072e0be..e94f502784fc3 100644
--- a/functions-and-operators/numeric-functions-and-operators.md
+++ b/functions-and-operators/numeric-functions-and-operators.md
@@ -1,7 +1,6 @@
---
title: Numeric Functions and Operators
summary: Learn about the numeric functions and operators.
-aliases: ['/docs/dev/functions-and-operators/numeric-functions-and-operators/','/docs/dev/reference/sql/functions-and-operators/numeric-functions-and-operators/']
---
# Numeric Functions and Operators
diff --git a/functions-and-operators/operators.md b/functions-and-operators/operators.md
index 8b7b0dacda992..194058d4044f2 100644
--- a/functions-and-operators/operators.md
+++ b/functions-and-operators/operators.md
@@ -1,7 +1,6 @@
---
title: Operators
summary: Learn about the operators precedence, comparison functions and operators, logical operators, and assignment operators.
-aliases: ['/docs/dev/functions-and-operators/operators/','/docs/dev/reference/sql/functions-and-operators/operators/']
---
# Operators
diff --git a/functions-and-operators/precision-math.md b/functions-and-operators/precision-math.md
index debdc5b102217..7b7c5dd1c9fe7 100644
--- a/functions-and-operators/precision-math.md
+++ b/functions-and-operators/precision-math.md
@@ -1,7 +1,6 @@
---
title: Precision Math
summary: Learn about the precision math in TiDB.
-aliases: ['/docs/dev/functions-and-operators/precision-math/','/docs/dev/reference/sql/functions-and-operators/precision-math/']
---
# Precision Math
diff --git a/functions-and-operators/string-functions.md b/functions-and-operators/string-functions.md
index 60b75c3a358d2..bacb01aad2c8d 100644
--- a/functions-and-operators/string-functions.md
+++ b/functions-and-operators/string-functions.md
@@ -1,7 +1,6 @@
---
title: String Functions
summary: Learn about the string functions in TiDB.
-aliases: ['/docs/dev/functions-and-operators/string-functions/','/docs/dev/reference/sql/functions-and-operators/string-functions/']
---
# String Functions
diff --git a/functions-and-operators/type-conversion-in-expression-evaluation.md b/functions-and-operators/type-conversion-in-expression-evaluation.md
index 295d42b7ec2f3..5b67c25110730 100644
--- a/functions-and-operators/type-conversion-in-expression-evaluation.md
+++ b/functions-and-operators/type-conversion-in-expression-evaluation.md
@@ -1,7 +1,6 @@
---
title: Type Conversion in Expression Evaluation
summary: Learn about the type conversion in expression evaluation.
-aliases: ['/docs/dev/functions-and-operators/type-conversion-in-expression-evaluation/','/docs/dev/reference/sql/functions-and-operators/type-conversion/']
---
# Type Conversion in Expression Evaluation
diff --git a/functions-and-operators/window-functions.md b/functions-and-operators/window-functions.md
index fdf57cfd1fa41..4f96e77f0f091 100644
--- a/functions-and-operators/window-functions.md
+++ b/functions-and-operators/window-functions.md
@@ -1,7 +1,6 @@
---
title: Window Functions
summary: This document introduces window functions supported in TiDB.
-aliases: ['/docs/dev/functions-and-operators/window-functions/','/docs/dev/reference/sql/functions-and-operators/window-functions/']
---
# Window Functions
diff --git a/garbage-collection-configuration.md b/garbage-collection-configuration.md
index 240a48a8c0e30..13e15a67bf9e2 100644
--- a/garbage-collection-configuration.md
+++ b/garbage-collection-configuration.md
@@ -1,7 +1,6 @@
---
title: Garbage Collection Configuration
summary: Learn about GC configuration parameters.
-aliases: ['/docs/dev/garbage-collection-configuration/','/docs/dev/reference/garbage-collection/configuration/']
---
# Garbage Collection Configuration
diff --git a/garbage-collection-overview.md b/garbage-collection-overview.md
index b4ac57ac6363b..2c2c0d82f7500 100644
--- a/garbage-collection-overview.md
+++ b/garbage-collection-overview.md
@@ -1,7 +1,6 @@
---
title: GC Overview
summary: Learn about Garbage Collection in TiDB.
-aliases: ['/docs/dev/garbage-collection-overview/','/docs/dev/reference/garbage-collection/overview/']
---
# GC Overview
diff --git a/generate-self-signed-certificates.md b/generate-self-signed-certificates.md
index f19265356c0e3..3bdce5c277fe9 100644
--- a/generate-self-signed-certificates.md
+++ b/generate-self-signed-certificates.md
@@ -1,7 +1,6 @@
---
title: Generate Self-signed Certificates
summary: Use `openssl` to generate self-signed certificates.
-aliases: ['/docs/dev/generate-self-signed-certificates/','/docs/dev/how-to/secure/generate-self-signed-certificates/']
---
# Generate Self-Signed Certificates
diff --git a/generated-columns.md b/generated-columns.md
index 9921404e1dae9..eb3446c0b9cf8 100644
--- a/generated-columns.md
+++ b/generated-columns.md
@@ -1,7 +1,6 @@
---
title: Generated Columns
summary: Learn how to use generated columns.
-aliases: ['/docs/dev/generated-columns/','/docs/dev/reference/sql/generated-columns/']
---
# Generated Columns
diff --git a/geo-distributed-deployment-topology.md b/geo-distributed-deployment-topology.md
index 68e4484968f3a..ccadb6c3dce64 100644
--- a/geo-distributed-deployment-topology.md
+++ b/geo-distributed-deployment-topology.md
@@ -1,7 +1,6 @@
---
title: Geo-distributed Deployment topology
summary: Learn the geo-distributed deployment topology of TiDB.
-aliases: ['/docs/dev/geo-distributed-deployment-topology/']
---
# Geo-Distributed Deployment Topology
diff --git a/get-started-with-tidb-lightning.md b/get-started-with-tidb-lightning.md
index a87108f108633..e88739c60dc91 100644
--- a/get-started-with-tidb-lightning.md
+++ b/get-started-with-tidb-lightning.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Tutorial
summary: Learn how to deploy TiDB Lightning and import full backup data to TiDB.
-aliases: ['/docs/dev/get-started-with-tidb-lightning/','/docs/dev/how-to/get-started/tidb-lightning/']
---
# TiDB Lightning Tutorial
diff --git a/get-started-with-tispark.md b/get-started-with-tispark.md
index 363b235b23814..bf6e6b446c698 100644
--- a/get-started-with-tispark.md
+++ b/get-started-with-tispark.md
@@ -1,7 +1,6 @@
---
title: TiSpark Quick Start Guide
summary: Learn how to use TiSpark quickly.
-aliases: ['/docs/dev/get-started-with-tispark/','/docs/dev/how-to/get-started/tispark/','/docs/dev/how-to/deploy/tispark/']
---
# TiSpark Quick Start Guide
diff --git a/glossary.md b/glossary.md
index c98ba483a6e07..7c9acacb842ec 100644
--- a/glossary.md
+++ b/glossary.md
@@ -1,7 +1,6 @@
---
title: Glossary
summary: Glossaries about TiDB.
-aliases: ['/docs/dev/glossary/']
---
# Glossary
diff --git a/grafana-overview-dashboard.md b/grafana-overview-dashboard.md
index b59dbdf25bd9c..0680a29942e48 100644
--- a/grafana-overview-dashboard.md
+++ b/grafana-overview-dashboard.md
@@ -1,7 +1,6 @@
---
title: Key Metrics
summary: Learn some key metrics displayed on the Grafana Overview dashboard.
-aliases: ['/docs/dev/grafana-overview-dashboard/','/docs/dev/reference/key-monitoring-metrics/overview-dashboard/']
---
# Key Metrics
diff --git a/grafana-pd-dashboard.md b/grafana-pd-dashboard.md
index 68c346e865323..729f4214debfa 100644
--- a/grafana-pd-dashboard.md
+++ b/grafana-pd-dashboard.md
@@ -1,7 +1,6 @@
---
title: Key Monitoring Metrics of PD
summary: Learn some key metrics displayed on the Grafana PD dashboard.
-aliases: ['/docs/dev/grafana-pd-dashboard/','/docs/dev/reference/key-monitoring-metrics/pd-dashboard/']
---
# Key Monitoring Metrics of PD
diff --git a/grafana-tidb-dashboard.md b/grafana-tidb-dashboard.md
index 52e04b900ce64..071bc46cd5d16 100644
--- a/grafana-tidb-dashboard.md
+++ b/grafana-tidb-dashboard.md
@@ -1,7 +1,6 @@
---
title: TiDB Monitoring Metrics
summary: Learn some key metrics displayed on the Grafana TiDB dashboard.
-aliases: ['/docs/dev/grafana-tidb-dashboard/','/docs/dev/reference/key-monitoring-metrics/tidb-dashboard/']
---
# TiDB Monitoring Metrics
diff --git a/grafana-tikv-dashboard.md b/grafana-tikv-dashboard.md
index 03bca8a699a35..4963f93e996ea 100644
--- a/grafana-tikv-dashboard.md
+++ b/grafana-tikv-dashboard.md
@@ -1,7 +1,6 @@
---
title: Key Monitoring Metrics of TiKV
summary: Learn some key metrics displayed on the Grafana TiKV dashboard.
-aliases: ['/docs/dev/grafana-tikv-dashboard/','/docs/dev/reference/key-monitoring-metrics/tikv-dashboard/']
---
# Key Monitoring Metrics of TiKV
diff --git a/hardware-and-software-requirements.md b/hardware-and-software-requirements.md
index 241fe3c0d174d..4c882d950eb29 100644
--- a/hardware-and-software-requirements.md
+++ b/hardware-and-software-requirements.md
@@ -1,7 +1,6 @@
---
title: Software and Hardware Recommendations
summary: Learn the software and hardware recommendations for deploying and running TiDB.
-aliases: ['/docs/dev/hardware-and-software-requirements/','/docs/dev/how-to/deploy/hardware-recommendations/']
---
# Software and Hardware Recommendations
diff --git a/hybrid-deployment-topology.md b/hybrid-deployment-topology.md
index 1abd24d8d81cf..249e7af723699 100644
--- a/hybrid-deployment-topology.md
+++ b/hybrid-deployment-topology.md
@@ -1,7 +1,6 @@
---
title: Hybrid Deployment Topology
summary: Learn the hybrid deployment topology of TiDB clusters.
-aliases: ['/docs/dev/hybrid-deployment-topology/']
---
# Hybrid Deployment Topology
diff --git a/identify-expensive-queries.md b/identify-expensive-queries.md
index e68f346f87698..a99be1f12a51e 100644
--- a/identify-expensive-queries.md
+++ b/identify-expensive-queries.md
@@ -1,6 +1,5 @@
---
title: Identify Expensive Queries
-aliases: ['/docs/dev/identify-expensive-queries/','/docs/dev/how-to/maintain/identify-abnormal-queries/identify-expensive-queries/']
---
# Identify Expensive Queries
diff --git a/identify-slow-queries.md b/identify-slow-queries.md
index e251894fb04a9..95afd3fc2b189 100644
--- a/identify-slow-queries.md
+++ b/identify-slow-queries.md
@@ -1,7 +1,6 @@
---
title: Identify Slow Queries
summary: Use the slow query log to identify problematic SQL statements.
-aliases: ['/docs/dev/identify-slow-queries/','/docs/dev/how-to/maintain/identify-abnormal-queries/identify-slow-queries/','/docs/dev/how-to/maintain/identify-slow-queries']
---
# Identify Slow Queries
diff --git a/import-example-data.md b/import-example-data.md
index 2ecadba9e2816..f01ab7cbb4afb 100644
--- a/import-example-data.md
+++ b/import-example-data.md
@@ -1,7 +1,6 @@
---
title: Import Example Database
summary: Install the Bikeshare example database.
-aliases: ['/docs/dev/import-example-data/','/docs/dev/how-to/get-started/import-example-database/']
---
# Import Example Database
diff --git a/information-schema/information-schema-cluster-config.md b/information-schema/information-schema-cluster-config.md
index 205dbe7cdc4fb..292035521cab9 100644
--- a/information-schema/information-schema-cluster-config.md
+++ b/information-schema/information-schema-cluster-config.md
@@ -1,7 +1,6 @@
---
title: CLUSTER_CONFIG
summary: Learn the `CLUSTER_CONFIG` information_schema table.
-aliases: ['/docs/dev/system-tables/system-table-cluster-config/','/docs/dev/reference/system-databases/cluster-config/','/tidb/dev/system-table-cluster-config/']
---
# CLUSTER_CONFIG
diff --git a/information-schema/information-schema-cluster-hardware.md b/information-schema/information-schema-cluster-hardware.md
index 52960722c79ac..4bd4eddf72e97 100644
--- a/information-schema/information-schema-cluster-hardware.md
+++ b/information-schema/information-schema-cluster-hardware.md
@@ -1,7 +1,6 @@
---
title: CLUSTER_HARDWARE
summary: Learn the `CLUSTER_HARDWARE` information_schema table.
-aliases: ['/docs/dev/system-tables/system-table-cluster-hardware/','/docs/dev/reference/system-databases/cluster-hardware/','/tidb/dev/system-table-cluster-hardware/']
---
# CLUSTER_HARDWARE
diff --git a/information-schema/information-schema-cluster-info.md b/information-schema/information-schema-cluster-info.md
index 0c40f5d551bcc..f1956d28e72ba 100644
--- a/information-schema/information-schema-cluster-info.md
+++ b/information-schema/information-schema-cluster-info.md
@@ -1,7 +1,6 @@
---
title: CLUSTER_INFO
summary: Learn the `CLUSTER_INFO` cluster topology information table.
-aliases: ['/docs/dev/system-tables/system-table-cluster-info/','/docs/dev/reference/system-databases/cluster-info/','/tidb/dev/system-table-cluster-info/']
---
# CLUSTER_INFO
diff --git a/information-schema/information-schema-cluster-load.md b/information-schema/information-schema-cluster-load.md
index 383086a36ed43..ba2a53e5685f7 100644
--- a/information-schema/information-schema-cluster-load.md
+++ b/information-schema/information-schema-cluster-load.md
@@ -1,7 +1,6 @@
---
title: CLUSTER_LOAD
summary: Learn the `CLUSTER_LOAD` information_schema table.
-aliases: ['/docs/dev/system-tables/system-table-cluster-load/','/docs/dev/reference/system-databases/cluster-load/','/tidb/dev/system-table-cluster-load/']
---
# CLUSTER_LOAD
diff --git a/information-schema/information-schema-cluster-log.md b/information-schema/information-schema-cluster-log.md
index 7e8e69ded8062..7f4f6885fdaf6 100644
--- a/information-schema/information-schema-cluster-log.md
+++ b/information-schema/information-schema-cluster-log.md
@@ -1,7 +1,6 @@
---
title: CLUSTER_LOG
summary: Learn the `CLUSTER_LOG` information_schema table.
-aliases: ['/docs/dev/system-tables/system-table-cluster-log/','/docs/dev/reference/system-databases/cluster-log/','/tidb/dev/system-table-cluster-log/']
---
# CLUSTER_LOG
diff --git a/information-schema/information-schema-cluster-systeminfo.md b/information-schema/information-schema-cluster-systeminfo.md
index 13d3397e669d9..879b0026c58e9 100644
--- a/information-schema/information-schema-cluster-systeminfo.md
+++ b/information-schema/information-schema-cluster-systeminfo.md
@@ -1,7 +1,6 @@
---
title: CLUSTER_SYSTEMINFO
summary: Learn the `CLUSTER_SYSTEMINFO` kernel parameter table.
-aliases: ['/docs/dev/system-tables/system-table-cluster-systeminfo/','/docs/dev/reference/system-databases/cluster-systeminfo/','/tidb/dev/system-table-cluster-systeminfo/']
---
# CLUSTER_SYSTEMINFO
diff --git a/information-schema/information-schema-inspection-result.md b/information-schema/information-schema-inspection-result.md
index b081943db6492..dfe4af21c5572 100644
--- a/information-schema/information-schema-inspection-result.md
+++ b/information-schema/information-schema-inspection-result.md
@@ -1,7 +1,6 @@
---
title: INSPECTION_RESULT
summary: Learn the `INSPECTION_RESULT` diagnostic result table.
-aliases: ['/docs/dev/system-tables/system-table-inspection-result/','/docs/dev/reference/system-databases/inspection-result/','/tidb/dev/system-table-inspection-result/']
---
# INSPECTION_RESULT
diff --git a/information-schema/information-schema-inspection-summary.md b/information-schema/information-schema-inspection-summary.md
index 73ac020752dbb..f5de9f553d34b 100644
--- a/information-schema/information-schema-inspection-summary.md
+++ b/information-schema/information-schema-inspection-summary.md
@@ -1,7 +1,6 @@
---
title: INSPECTION_SUMMARY
summary: Learn the `INSPECTION_SUMMARY` inspection summary table.
-aliases: ['/docs/dev/system-tables/system-table-inspection-summary/','/docs/dev/reference/system-databases/inspection-summary/','/tidb/dev/system-table-inspection-summary/']
---
# INSPECTION_SUMMARY
diff --git a/information-schema/information-schema-metrics-summary.md b/information-schema/information-schema-metrics-summary.md
index ff7a13629d16a..c6bbb19d3ff13 100644
--- a/information-schema/information-schema-metrics-summary.md
+++ b/information-schema/information-schema-metrics-summary.md
@@ -1,7 +1,6 @@
---
title: METRICS_SUMMARY
summary: Learn the METRICS_SUMMARY system table.
-aliases: ['/docs/dev/system-tables/system-table-metrics-summary/','/docs/dev/reference/system-databases/metrics-summary/','/tidb/dev/system-table-metrics-summary']
---
# METRICS_SUMMARY
diff --git a/information-schema/information-schema-metrics-tables.md b/information-schema/information-schema-metrics-tables.md
index b49e2378dbd60..98dde42b78800 100644
--- a/information-schema/information-schema-metrics-tables.md
+++ b/information-schema/information-schema-metrics-tables.md
@@ -1,7 +1,6 @@
---
title: METRICS_TABLES
summary: Learn the `METRICS_TABLES` system table.
-aliases: ['/docs/dev/system-tables/system-table-metrics-tables/','/docs/dev/reference/system-databases/metrics-tables/','/tidb/dev/system-table-metrics-tables/']
---
# METRICS_TABLES
diff --git a/information-schema/information-schema-sql-diagnostics.md b/information-schema/information-schema-sql-diagnostics.md
index a7e62a8e34dd5..5c4b56cae3b0a 100644
--- a/information-schema/information-schema-sql-diagnostics.md
+++ b/information-schema/information-schema-sql-diagnostics.md
@@ -1,7 +1,6 @@
---
title: SQL Diagnostics
summary: Understand SQL diagnostics in TiDB.
-aliases: ['/docs/dev/system-tables/system-table-sql-diagnostics/','/docs/dev/reference/system-databases/sql-diagnosis/','/docs/dev/system-tables/system-table-sql-diagnosis/','/tidb/dev/system-table-sql-diagnostics/','/tidb/dev/check-cluster-status-using-sql-statements','/docs/dev/check-cluster-status-using-sql-statements/','/docs/dev/reference/performance/check-cluster-status-using-sql-statements/']
---
# SQL Diagnostics
diff --git a/information-schema/information-schema.md b/information-schema/information-schema.md
index 7a66ae51f8c3e..33700d4bdc686 100644
--- a/information-schema/information-schema.md
+++ b/information-schema/information-schema.md
@@ -1,7 +1,6 @@
---
title: Information Schema
summary: TiDB implements the ANSI-standard information_schema for viewing system metadata.
-aliases: ['/docs/dev/system-tables/system-table-information-schema/','/docs/dev/reference/system-databases/information-schema/','/tidb/dev/system-table-information-schema/']
---
# Information Schema
diff --git a/join-reorder.md b/join-reorder.md
index 33cef7cb543e1..b9b2cb410ff86 100644
--- a/join-reorder.md
+++ b/join-reorder.md
@@ -1,7 +1,6 @@
---
title: Introduction to Join Reorder
summary: Use the Join Reorder algorithm to join multiple tables in TiDB.
-aliases: ['/docs/dev/join-reorder/','/docs/dev/reference/performance/join-reorder/']
---
# Introduction to Join Reorder
diff --git a/keywords.md b/keywords.md
index d5824c7605e1d..e64b453ee757f 100644
--- a/keywords.md
+++ b/keywords.md
@@ -1,7 +1,6 @@
---
title: Keywords
summary: Keywords and Reserved Words
-aliases: ['/docs/dev/keywords-and-reserved-words/','/docs/dev/reference/sql/language-structure/keywords-and-reserved-words/','tidb/dev/keywords-and-reserved-words/']
---
# Keywords
diff --git a/literal-values.md b/literal-values.md
index 6c81663b5a29d..afe4c8d35b7f0 100644
--- a/literal-values.md
+++ b/literal-values.md
@@ -1,7 +1,6 @@
---
title: Literal Values
summary: This article introduces the literal values of TiDB SQL statements.
-aliases: ['/docs/dev/literal-values/','/docs/dev/reference/sql/language-structure/literal-values/']
---
# Literal Values
diff --git a/maintain-tidb-using-tiup.md b/maintain-tidb-using-tiup.md
index 03f50ee1662da..ceb9d41568e75 100644
--- a/maintain-tidb-using-tiup.md
+++ b/maintain-tidb-using-tiup.md
@@ -1,7 +1,6 @@
---
title: TiUP Common Operations
summary: Learn the common operations to operate and maintain a TiDB cluster using TiUP.
-aliases: ['/docs/dev/maintain-tidb-using-tiup/','/docs/dev/how-to/maintain/tiup-operations/']
---
# TiUP Common Operations
diff --git a/metrics-schema.md b/metrics-schema.md
index 8462745adb995..3a8b19fdf892c 100644
--- a/metrics-schema.md
+++ b/metrics-schema.md
@@ -1,7 +1,6 @@
---
title: Metrics Schema
summary: Learn the `METRICS_SCHEMA` schema.
-aliases: ['/docs/dev/system-tables/system-table-metrics-schema/','/docs/dev/reference/system-databases/metrics-schema/','/tidb/dev/system-table-metrics-schema/']
---
# Metrics Schema
diff --git a/migrate-from-aurora-mysql-database.md b/migrate-from-aurora-mysql-database.md
index 1560aca80571d..16d1bdecc7a56 100644
--- a/migrate-from-aurora-mysql-database.md
+++ b/migrate-from-aurora-mysql-database.md
@@ -1,7 +1,6 @@
---
title: Migrate from Amazon Aurora MySQL Using DM
summary: Learn how to migrate from MySQL (using a case of Amazon Aurora) to TiDB by using TiDB Data Migration (DM).
-aliases: ['/docs/dev/migrate-from-aurora-mysql-database/','/docs/dev/how-to/migrate/from-mysql-aurora/','/docs/dev/how-to/migrate/from-aurora/']
---
# Migrate from Amazon Aurora MySQL Using DM
diff --git a/migrate-from-mysql-dumpling-files.md b/migrate-from-mysql-dumpling-files.md
index a15af57be99f1..f8464d954596f 100644
--- a/migrate-from-mysql-dumpling-files.md
+++ b/migrate-from-mysql-dumpling-files.md
@@ -1,7 +1,6 @@
---
title: Migrate from MySQL SQL Files Using TiDB Lightning
summary: Learn how to migrate data from MySQL SQL files to TiDB using TiDB Lightning.
-aliases: ['/docs/dev/migrate-from-mysql-mydumper-files/','/tidb/dev/migrate-from-mysql-mydumper-files/']
---
# Migrate from MySQL SQL Files Using TiDB Lightning
diff --git a/migration-overview.md b/migration-overview.md
index c9b2ecc69cb5c..961702f9a9342 100644
--- a/migration-overview.md
+++ b/migration-overview.md
@@ -1,7 +1,6 @@
---
title: Migration Overview
summary: This document describes how to migrate data from databases or data formats (CSV/SQL).
-aliases: ['/docs/dev/migration-overview/']
---
# Migration Overview
diff --git a/minimal-deployment-topology.md b/minimal-deployment-topology.md
index c17babeb87072..515edd08b40f7 100644
--- a/minimal-deployment-topology.md
+++ b/minimal-deployment-topology.md
@@ -1,7 +1,6 @@
---
title: Minimal Deployment Topology
summary: Learn the minimal deployment topology of TiDB clusters.
-aliases: ['/docs/dev/minimal-deployment-topology/']
---
# Minimal Deployment Topology
diff --git a/multi-data-centers-in-one-city-deployment.md b/multi-data-centers-in-one-city-deployment.md
index ec19507d81de6..e65e51c73c0e9 100644
--- a/multi-data-centers-in-one-city-deployment.md
+++ b/multi-data-centers-in-one-city-deployment.md
@@ -1,7 +1,6 @@
---
title: Multiple Data Centers in One City Deployment
summary: Learn the deployment solution to multi-data centers in one city.
-aliases: ['/docs/dev/how-to/deploy/geographic-redundancy/overview/','/docs/dev/geo-redundancy-deployment/','/tidb/dev/geo-redundancy-deployment']
---
# Multiple Data Centers in One City Deployment
diff --git a/mysql-compatibility.md b/mysql-compatibility.md
index 5505f1e9560d3..df926f834c17c 100644
--- a/mysql-compatibility.md
+++ b/mysql-compatibility.md
@@ -1,7 +1,6 @@
---
title: MySQL Compatibility
summary: Learn about the compatibility of TiDB with MySQL, and the unsupported and different features.
-aliases: ['/docs/dev/mysql-compatibility/','/docs/dev/reference/mysql-compatibility/']
---
# MySQL Compatibility
diff --git a/mysql-schema.md b/mysql-schema.md
index 922f24dd66907..db4f26631be0b 100644
--- a/mysql-schema.md
+++ b/mysql-schema.md
@@ -1,7 +1,6 @@
---
title: mysql Schema
summary: Learn about the TiDB system tables.
-aliases: ['/docs/dev/system-tables/system-table-overview/','/docs/dev/reference/system-databases/mysql/','/tidb/dev/system-table-overview/']
---
# `mysql` Schema
diff --git a/optimistic-transaction.md b/optimistic-transaction.md
index 2403dbc608fa5..487a73a05aa5f 100644
--- a/optimistic-transaction.md
+++ b/optimistic-transaction.md
@@ -1,7 +1,6 @@
---
title: TiDB Optimistic Transaction Model
summary: Learn the optimistic transaction model in TiDB.
-aliases: ['/docs/dev/optimistic-transaction/','/docs/dev/reference/transactions/transaction-optimistic/','/docs/dev/reference/transactions/transaction-model/']
---
# TiDB Optimistic Transaction Model
diff --git a/optimizer-hints.md b/optimizer-hints.md
index a98ef49461082..6be6193e01655 100644
--- a/optimizer-hints.md
+++ b/optimizer-hints.md
@@ -1,7 +1,6 @@
---
title: Optimizer Hints
summary: Use Optimizer Hints to influence query execution plans
-aliases: ['/docs/dev/optimizer-hints/','/docs/dev/reference/performance/optimizer-hints/']
---
# Optimizer Hints
diff --git a/overview.md b/overview.md
index 4c5a66ce0ca40..d03aa0c85ce32 100644
--- a/overview.md
+++ b/overview.md
@@ -1,7 +1,6 @@
---
title: TiDB Introduction
summary: Learn about the key features and usage scenarios of TiDB.
-aliases: ['/docs/dev/key-features/','/tidb/dev/key-features','/docs/dev/overview/']
---
# TiDB Introduction
diff --git a/partitioned-table.md b/partitioned-table.md
index c6b8a198b675c..a68408bdaa98f 100644
--- a/partitioned-table.md
+++ b/partitioned-table.md
@@ -1,7 +1,6 @@
---
title: Partitioning
summary: Learn how to use partitioning in TiDB.
-aliases: ['/docs/dev/partitioned-table/','/docs/dev/reference/sql/partitioning/']
---
# Partitioning
diff --git a/pd-configuration-file.md b/pd-configuration-file.md
index aacbecebeda07..987b2857c5c20 100644
--- a/pd-configuration-file.md
+++ b/pd-configuration-file.md
@@ -1,7 +1,6 @@
---
title: PD Configuration File
summary: Learn the PD configuration file.
-aliases: ['/docs/dev/pd-configuration-file/','/docs/dev/reference/configuration/pd-server/configuration-file/']
---
# PD Configuration File
diff --git a/pd-control.md b/pd-control.md
index f3a1560a49ac8..2a8d8296f9f22 100644
--- a/pd-control.md
+++ b/pd-control.md
@@ -1,7 +1,6 @@
---
title: PD Control User Guide
summary: Use PD Control to obtain the state information of a cluster and tune a cluster.
-aliases: ['/docs/dev/pd-control/','/docs/dev/reference/tools/pd-control/']
---
# PD Control User Guide
diff --git a/pd-recover.md b/pd-recover.md
index a871826746585..3286a5e19058e 100644
--- a/pd-recover.md
+++ b/pd-recover.md
@@ -1,7 +1,6 @@
---
title: PD Recover User Guide
summary: Use PD Recover to recover a PD cluster which cannot start or provide services normally.
-aliases: ['/docs/dev/pd-recover/','/docs/dev/reference/tools/pd-recover/']
---
# PD Recover User Guide
diff --git a/pessimistic-transaction.md b/pessimistic-transaction.md
index a51438c7acf37..5496f07ad0197 100644
--- a/pessimistic-transaction.md
+++ b/pessimistic-transaction.md
@@ -1,7 +1,6 @@
---
title: TiDB Pessimistic Transaction Model
summary: Learn the pessimistic transaction model in TiDB.
-aliases: ['/docs/dev/pessimistic-transaction/','/docs/dev/reference/transactions/transaction-pessimistic/']
---
# TiDB Pessimistic Transaction Model
diff --git a/post-installation-check.md b/post-installation-check.md
index a44ba63000319..65e2376b06fc6 100644
--- a/post-installation-check.md
+++ b/post-installation-check.md
@@ -1,7 +1,6 @@
---
title: Check Cluster Status
summary: Learn how to check the running status of the TiDB cluster.
-aliases: ['/docs/dev/post-installation-check/']
---
# Check Cluster Status
diff --git a/predicate-push-down.md b/predicate-push-down.md
index c2be2f77c6302..4aac41488e49b 100644
--- a/predicate-push-down.md
+++ b/predicate-push-down.md
@@ -1,7 +1,6 @@
---
title: Predicates Push Down
summary: Introduce one of the TiDB's logic optimization rules—Predicate Push Down (PPD).
-aliases: ['/tidb/dev/predicates-push-down']
---
# Predicates Push Down (PPD)
diff --git a/privilege-management.md b/privilege-management.md
index 9fe98feafb091..fc0819b4722ac 100644
--- a/privilege-management.md
+++ b/privilege-management.md
@@ -1,7 +1,6 @@
---
title: Privilege Management
summary: Learn how to manage the privilege.
-aliases: ['/docs/dev/privilege-management/','/docs/dev/reference/security/privilege-system/']
---
# Privilege Management
diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md
index 9b9b907b8bbc1..fbc2dc95049bd 100644
--- a/production-deployment-using-tiup.md
+++ b/production-deployment-using-tiup.md
@@ -1,7 +1,6 @@
---
title: Deploy a TiDB Cluster Using TiUP
summary: Learn how to easily deploy a TiDB cluster using TiUP.
-aliases: ['/docs/dev/production-deployment-using-tiup/','/docs/dev/how-to/deploy/orchestrated/tiup/','/docs/dev/tiflash/deploy-tiflash/','/docs/dev/reference/tiflash/deploy/','/tidb/dev/deploy-tidb-from-dbdeployer/','/docs/dev/deploy-tidb-from-dbdeployer/','/docs/dev/how-to/get-started/deploy-tidb-from-dbdeployer/','/tidb/dev/deploy-tidb-from-homebrew/','/docs/dev/deploy-tidb-from-homebrew/','/docs/dev/how-to/get-started/deploy-tidb-from-homebrew/','/tidb/dev/production-offline-deployment-using-tiup','/docs/dev/production-offline-deployment-using-tiup/','/tidb/dev/deploy-tidb-from-binary','/tidb/dev/production-deployment-from-binary-tarball','/tidb/dev/test-deployment-from-binary-tarball']
---
# Deploy a TiDB Cluster Using TiUP
diff --git a/quick-start-with-tidb.md b/quick-start-with-tidb.md
index a95272f08b37c..4f8b9bfd30f9e 100644
--- a/quick-start-with-tidb.md
+++ b/quick-start-with-tidb.md
@@ -1,7 +1,6 @@
---
title: Quick Start Guide for the TiDB Database Platform
summary: Learn how to quickly get started with the TiDB platform and see if TiDB is the right choice for you.
-aliases: ['/docs/dev/quick-start-with-tidb/','/docs/dev/test-deployment-using-docker/']
---
# Quick Start Guide for the TiDB Database Platform
diff --git a/read-historical-data.md b/read-historical-data.md
index 45a9837a5526f..5d1a6f8651299 100644
--- a/read-historical-data.md
+++ b/read-historical-data.md
@@ -1,7 +1,6 @@
---
title: Read Historical Data
summary: Learn about how TiDB reads data from history versions.
-aliases: ['/docs/dev/read-historical-data/','/docs/dev/how-to/get-started/read-historical-data/']
---
# Read Historical Data
diff --git a/releases/release-1.0-ga.md b/releases/release-1.0-ga.md
index dd572e546f6f5..ad5cd5d61ef26 100644
--- a/releases/release-1.0-ga.md
+++ b/releases/release-1.0-ga.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0 release notes
-aliases: ['/docs/dev/releases/release-1.0-ga/','/docs/dev/releases/ga/']
---
# TiDB 1.0 Release Notes
diff --git a/releases/release-1.0.1.md b/releases/release-1.0.1.md
index eec2891e4bba0..ac9bbaf51c36b 100644
--- a/releases/release-1.0.1.md
+++ b/releases/release-1.0.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.1 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.1/','/docs/dev/releases/101/']
---
# TiDB 1.0.1 Release Notes
diff --git a/releases/release-1.0.2.md b/releases/release-1.0.2.md
index 19db611b557d3..ea62c20d56114 100644
--- a/releases/release-1.0.2.md
+++ b/releases/release-1.0.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.2 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.2/','/docs/dev/releases/102/']
---
# TiDB 1.0.2 Release Notes
diff --git a/releases/release-1.0.3.md b/releases/release-1.0.3.md
index ac57f7eea1f47..83759c16989b1 100644
--- a/releases/release-1.0.3.md
+++ b/releases/release-1.0.3.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.3 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.3/','/docs/dev/releases/103/']
---
# TiDB 1.0.3 Release Notes
diff --git a/releases/release-1.0.4.md b/releases/release-1.0.4.md
index 48b6acbfac36d..247d6bb6a58a3 100644
--- a/releases/release-1.0.4.md
+++ b/releases/release-1.0.4.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.4 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.4/','/docs/dev/releases/104/']
---
# TiDB 1.0.4 Release Notes
diff --git a/releases/release-1.0.5.md b/releases/release-1.0.5.md
index 6a4e6718eb535..0f0d97faed672 100644
--- a/releases/release-1.0.5.md
+++ b/releases/release-1.0.5.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.5 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.5/','/docs/dev/releases/105/']
---
# TiDB 1.0.5 Release Notes
diff --git a/releases/release-1.0.6.md b/releases/release-1.0.6.md
index b744c148887d7..b077b071f8474 100644
--- a/releases/release-1.0.6.md
+++ b/releases/release-1.0.6.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.6 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.6/','/docs/dev/releases/106/']
---
# TiDB 1.0.6 Release Notes
diff --git a/releases/release-1.0.7.md b/releases/release-1.0.7.md
index c8b9362d3fb67..0e46d1bfd3356 100644
--- a/releases/release-1.0.7.md
+++ b/releases/release-1.0.7.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.7 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.7/','/docs/dev/releases/107/']
---
# TiDB 1.0.7 Release Notes
diff --git a/releases/release-1.0.8.md b/releases/release-1.0.8.md
index 2f8e1539c98d7..fb3a36133b199 100644
--- a/releases/release-1.0.8.md
+++ b/releases/release-1.0.8.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.0.8 Release Notes
-aliases: ['/docs/dev/releases/release-1.0.8/','/docs/dev/releases/108/']
---
# TiDB 1.0.8 Release Notes
diff --git a/releases/release-1.1-alpha.md b/releases/release-1.1-alpha.md
index a9cb91163f7c4..c0db7c98bb3aa 100644
--- a/releases/release-1.1-alpha.md
+++ b/releases/release-1.1-alpha.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.1 Alpha Release Notes
-aliases: ['/docs/dev/releases/release-1.1-alpha/','/docs/dev/releases/11alpha/']
---
# TiDB 1.1 Alpha Release Notes
diff --git a/releases/release-1.1-beta.md b/releases/release-1.1-beta.md
index fece9cc567d44..8ea89d5bd953d 100644
--- a/releases/release-1.1-beta.md
+++ b/releases/release-1.1-beta.md
@@ -1,6 +1,5 @@
---
title: TiDB 1.1 Beta Release Notes
-aliases: ['/docs/dev/releases/release-1.1-beta/','/docs/dev/releases/11beta/']
---
# TiDB 1.1 Beta Release Notes
diff --git a/releases/release-2.0-ga.md b/releases/release-2.0-ga.md
index b35e6a39f0598..fc7c3687a2e21 100644
--- a/releases/release-2.0-ga.md
+++ b/releases/release-2.0-ga.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0 Release Notes
-aliases: ['/docs/dev/releases/release-2.0-ga/','/docs/dev/releases/2.0ga/']
---
# TiDB 2.0 Release Notes
diff --git a/releases/release-2.0-rc.1.md b/releases/release-2.0-rc.1.md
index aaff6e7e006df..b540071cd8b07 100644
--- a/releases/release-2.0-rc.1.md
+++ b/releases/release-2.0-rc.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0 RC1 Release Notes
-aliases: ['/docs/dev/releases/release-2.0-rc.1/','/docs/dev/releases/2rc1/']
---
# TiDB 2.0 RC1 Release Notes
diff --git a/releases/release-2.0-rc.3.md b/releases/release-2.0-rc.3.md
index 505fe641d6276..955858205c1d6 100644
--- a/releases/release-2.0-rc.3.md
+++ b/releases/release-2.0-rc.3.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0 RC3 Release Notes
-aliases: ['/docs/dev/releases/release-2.0-rc.3/','/docs/dev/releases/2rc3/']
---
# TiDB 2.0 RC3 Release Notes
diff --git a/releases/release-2.0-rc.4.md b/releases/release-2.0-rc.4.md
index cd6b668554c06..f547180f3929b 100644
--- a/releases/release-2.0-rc.4.md
+++ b/releases/release-2.0-rc.4.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0 RC4 Release Notes
-aliases: ['/docs/dev/releases/release-2.0-rc.4/','/docs/dev/releases/2rc4/']
---
# TiDB 2.0 RC4 Release Notes
diff --git a/releases/release-2.0-rc.5.md b/releases/release-2.0-rc.5.md
index 34ba7824c992b..ba1058486305c 100644
--- a/releases/release-2.0-rc.5.md
+++ b/releases/release-2.0-rc.5.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0 RC5 Release Notes
-aliases: ['/docs/dev/releases/release-2.0-rc.5/','/docs/dev/releases/2rc5/']
---
# TiDB 2.0 RC5 Release Notes
diff --git a/releases/release-2.0.1.md b/releases/release-2.0.1.md
index 4270f3609892e..c40121f9f6c86 100644
--- a/releases/release-2.0.1.md
+++ b/releases/release-2.0.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.1 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.1/','/docs/dev/releases/201/']
---
# TiDB 2.0.1 Release Notes
diff --git a/releases/release-2.0.10.md b/releases/release-2.0.10.md
index 7e0cfe9349e21..85b48acf18dfd 100644
--- a/releases/release-2.0.10.md
+++ b/releases/release-2.0.10.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.10 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.10/','/docs/dev/releases/2.0.10/']
---
# TiDB 2.0.10 Release Notes
diff --git a/releases/release-2.0.11.md b/releases/release-2.0.11.md
index 63f60a9a15cb0..7e6964245effb 100644
--- a/releases/release-2.0.11.md
+++ b/releases/release-2.0.11.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.11 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.11/','/docs/dev/releases/2.0.11/']
---
# TiDB 2.0.11 Release Notes
diff --git a/releases/release-2.0.2.md b/releases/release-2.0.2.md
index ed9665c7ec6da..06de9dfad7f28 100644
--- a/releases/release-2.0.2.md
+++ b/releases/release-2.0.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.2 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.2/','/docs/dev/releases/202/']
---
# TiDB 2.0.2 Release Notes
diff --git a/releases/release-2.0.3.md b/releases/release-2.0.3.md
index 5121baea898ac..053c3556d6f97 100644
--- a/releases/release-2.0.3.md
+++ b/releases/release-2.0.3.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.3 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.3/','/docs/dev/releases/203/']
---
# TiDB 2.0.3 Release Notes
diff --git a/releases/release-2.0.4.md b/releases/release-2.0.4.md
index 95a024d2c3010..9105075d6f57d 100644
--- a/releases/release-2.0.4.md
+++ b/releases/release-2.0.4.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.4 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.4/','/docs/dev/releases/204/']
---
# TiDB 2.0.4 Release Notes
diff --git a/releases/release-2.0.5.md b/releases/release-2.0.5.md
index dc8f7689d130f..097318bd3aad2 100644
--- a/releases/release-2.0.5.md
+++ b/releases/release-2.0.5.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.5 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.5/','/docs/dev/releases/205/']
---
# TiDB 2.0.5 Release Notes
diff --git a/releases/release-2.0.6.md b/releases/release-2.0.6.md
index 1c389a9079f5f..356275f6073f1 100644
--- a/releases/release-2.0.6.md
+++ b/releases/release-2.0.6.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.6 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.6/','/docs/dev/releases/206/']
---
# TiDB 2.0.6 Release Notes
diff --git a/releases/release-2.0.7.md b/releases/release-2.0.7.md
index 9d3423c8e1715..75cfe9af87054 100644
--- a/releases/release-2.0.7.md
+++ b/releases/release-2.0.7.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.7 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.7/','/docs/dev/releases/207/']
---
# TiDB 2.0.7 Release Notes
diff --git a/releases/release-2.0.8.md b/releases/release-2.0.8.md
index 7d5d6c5c6c7a2..9d1733f54c205 100644
--- a/releases/release-2.0.8.md
+++ b/releases/release-2.0.8.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.8 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.8/','/docs/dev/releases/208/']
---
# TiDB 2.0.8 Release Notes
diff --git a/releases/release-2.0.9.md b/releases/release-2.0.9.md
index e7268ab28d598..c0317d6787c9c 100644
--- a/releases/release-2.0.9.md
+++ b/releases/release-2.0.9.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.0.9 Release Notes
-aliases: ['/docs/dev/releases/release-2.0.9/','/docs/dev/releases/209/']
---
# TiDB 2.0.9 Release Notes
diff --git a/releases/release-2.1-beta.md b/releases/release-2.1-beta.md
index afc880c3ac23a..e0ca71bde1134 100644
--- a/releases/release-2.1-beta.md
+++ b/releases/release-2.1-beta.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1 Beta Release Notes
-aliases: ['/docs/dev/releases/release-2.1-beta/','/docs/dev/releases/21beta/']
---
# TiDB 2.1 Beta Release Notes
diff --git a/releases/release-2.1-ga.md b/releases/release-2.1-ga.md
index 72ddb5bf8c089..8d0e8bd1f6398 100644
--- a/releases/release-2.1-ga.md
+++ b/releases/release-2.1-ga.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1 GA Release Notes
-aliases: ['/docs/dev/releases/release-2.1-ga/','/docs/dev/releases/2.1ga/']
---
# TiDB 2.1 GA Release Notes
diff --git a/releases/release-2.1-rc.1.md b/releases/release-2.1-rc.1.md
index 9898db92814da..4c92998b58774 100644
--- a/releases/release-2.1-rc.1.md
+++ b/releases/release-2.1-rc.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1 RC1 Release Notes
-aliases: ['/docs/dev/releases/release-2.1-rc.1/','/docs/dev/releases/21rc1/']
---
# TiDB 2.1 RC1 Release Notes
diff --git a/releases/release-2.1-rc.2.md b/releases/release-2.1-rc.2.md
index db9ec0f424bfc..41c0ed740027f 100644
--- a/releases/release-2.1-rc.2.md
+++ b/releases/release-2.1-rc.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1 RC2 Release Notes
-aliases: ['/docs/dev/releases/release-2.1-rc.2/','/docs/dev/releases/21rc2/']
---
# TiDB 2.1 RC2 Release Notes
diff --git a/releases/release-2.1-rc.3.md b/releases/release-2.1-rc.3.md
index 9bed927dd202e..9adb18e0e38cb 100644
--- a/releases/release-2.1-rc.3.md
+++ b/releases/release-2.1-rc.3.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1 RC3 Release Notes
-aliases: ['/docs/dev/releases/release-2.1-rc.3/','/docs/dev/releases/21rc3/']
---
# TiDB 2.1 RC3 Release Notes
diff --git a/releases/release-2.1-rc.4.md b/releases/release-2.1-rc.4.md
index 20844d8fea253..f248413298a97 100644
--- a/releases/release-2.1-rc.4.md
+++ b/releases/release-2.1-rc.4.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1 RC4 Release Notes
-aliases: ['/docs/dev/releases/release-2.1-rc.4/','/docs/dev/releases/21rc4/']
---
# TiDB 2.1 RC4 Release Notes
diff --git a/releases/release-2.1-rc.5.md b/releases/release-2.1-rc.5.md
index 85a56f15fea5a..40c6fca5b4df5 100644
--- a/releases/release-2.1-rc.5.md
+++ b/releases/release-2.1-rc.5.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1 RC5 Release Notes
-aliases: ['/docs/dev/releases/release-2.1-rc.5/','/docs/dev/releases/21rc5/']
---
diff --git a/releases/release-2.1.1.md b/releases/release-2.1.1.md
index 39aa893d95abe..79e31b528a5d1 100644
--- a/releases/release-2.1.1.md
+++ b/releases/release-2.1.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.1 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.1/','/docs/dev/releases/2.1.1/']
---
# TiDB 2.1.1 Release Notes
diff --git a/releases/release-2.1.10.md b/releases/release-2.1.10.md
index e62f7eb42f623..4c050b50de08d 100644
--- a/releases/release-2.1.10.md
+++ b/releases/release-2.1.10.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.10 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.10/','/docs/dev/releases/2.1.10/']
---
# TiDB 2.1.10 Release Notes
diff --git a/releases/release-2.1.11.md b/releases/release-2.1.11.md
index 3cc7e566edeba..abc2b1bb92e98 100644
--- a/releases/release-2.1.11.md
+++ b/releases/release-2.1.11.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.11 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.11/','/docs/dev/releases/2.1.11/']
---
# TiDB 2.1.11 Release Notes
diff --git a/releases/release-2.1.12.md b/releases/release-2.1.12.md
index 9f5b97a691a11..8b00e4e0032b5 100644
--- a/releases/release-2.1.12.md
+++ b/releases/release-2.1.12.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.12 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.12/','/docs/dev/releases/2.1.12/']
---
# TiDB 2.1.12 Release Notes
diff --git a/releases/release-2.1.13.md b/releases/release-2.1.13.md
index 5b280f196138f..05f092d80cc6b 100644
--- a/releases/release-2.1.13.md
+++ b/releases/release-2.1.13.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.13 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.13/','/docs/dev/releases/2.1.13/']
---
# TiDB 2.1.13 Release Notes
diff --git a/releases/release-2.1.14.md b/releases/release-2.1.14.md
index 42dc069d15fbd..25e335651a1bf 100644
--- a/releases/release-2.1.14.md
+++ b/releases/release-2.1.14.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.14 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.14/','/docs/dev/releases/2.1.14/']
---
# TiDB 2.1.14 Release Notes
diff --git a/releases/release-2.1.15.md b/releases/release-2.1.15.md
index 80e4bbd26dd6c..1eccc95e3be26 100644
--- a/releases/release-2.1.15.md
+++ b/releases/release-2.1.15.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.15 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.15/','/docs/dev/releases/2.1.15/']
---
# TiDB 2.1.15 Release Notes
diff --git a/releases/release-2.1.16.md b/releases/release-2.1.16.md
index dae0acee1d59b..b60d1d4380e8f 100644
--- a/releases/release-2.1.16.md
+++ b/releases/release-2.1.16.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.16 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.16/','/docs/dev/releases/2.1.16/']
---
# TiDB 2.1.16 Release Notes
diff --git a/releases/release-2.1.17.md b/releases/release-2.1.17.md
index ff75486cd0153..533bfc0a59839 100644
--- a/releases/release-2.1.17.md
+++ b/releases/release-2.1.17.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.17 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.17/','/docs/dev/releases/2.1.17/']
---
# TiDB 2.1.17 Release Notes
diff --git a/releases/release-2.1.18.md b/releases/release-2.1.18.md
index e5b26e8a4f639..ce5dcbdb30483 100644
--- a/releases/release-2.1.18.md
+++ b/releases/release-2.1.18.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.18 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.18/','/docs/dev/releases/2.1.18/']
---
# TiDB 2.1.18 Release Notes
diff --git a/releases/release-2.1.19.md b/releases/release-2.1.19.md
index f1063c5e6410b..b1d1f3054f19f 100644
--- a/releases/release-2.1.19.md
+++ b/releases/release-2.1.19.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.19 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.19/','/docs/dev/releases/2.1.19/']
---
# TiDB 2.1.19 Release Notes
diff --git a/releases/release-2.1.2.md b/releases/release-2.1.2.md
index 810feece1c73b..ce4f74a942b49 100644
--- a/releases/release-2.1.2.md
+++ b/releases/release-2.1.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.2 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.2/','/docs/dev/releases/2.1.2/']
---
# TiDB 2.1.2 Release Notes
diff --git a/releases/release-2.1.3.md b/releases/release-2.1.3.md
index ebaa726af7e4c..5cb6f7ef2d38b 100644
--- a/releases/release-2.1.3.md
+++ b/releases/release-2.1.3.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.3 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.3/','/docs/dev/releases/2.1.3/']
---
# TiDB 2.1.3 Release Notes
diff --git a/releases/release-2.1.4.md b/releases/release-2.1.4.md
index ff327430aa08a..3b9b318f25571 100644
--- a/releases/release-2.1.4.md
+++ b/releases/release-2.1.4.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.4 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.4/','/docs/dev/releases/2.1.4/']
---
# TiDB 2.1.4 Release Notes
diff --git a/releases/release-2.1.5.md b/releases/release-2.1.5.md
index cff7b4ec7fb89..7b75acf82710b 100644
--- a/releases/release-2.1.5.md
+++ b/releases/release-2.1.5.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.5 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.5/','/docs/dev/releases/2.1.5/']
---
# TiDB 2.1.5 Release Notes
diff --git a/releases/release-2.1.6.md b/releases/release-2.1.6.md
index fecb5b89a9d8c..87c26f4655bde 100644
--- a/releases/release-2.1.6.md
+++ b/releases/release-2.1.6.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.6 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.6/','/docs/dev/releases/2.1.6/']
---
# TiDB 2.1.6 Release Notes
diff --git a/releases/release-2.1.7.md b/releases/release-2.1.7.md
index 4bca1a35b67ee..86980d4e425c7 100644
--- a/releases/release-2.1.7.md
+++ b/releases/release-2.1.7.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.7 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.7/','/docs/dev/releases/2.1.7/']
---
# TiDB 2.1.7 Release Notes
diff --git a/releases/release-2.1.8.md b/releases/release-2.1.8.md
index 62519fbafc9d3..bfffc417bba95 100644
--- a/releases/release-2.1.8.md
+++ b/releases/release-2.1.8.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.8 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.8/','/docs/dev/releases/2.1.8/']
---
# TiDB 2.1.8 Release Notes
diff --git a/releases/release-2.1.9.md b/releases/release-2.1.9.md
index 04d815cd9888f..1efc387283073 100644
--- a/releases/release-2.1.9.md
+++ b/releases/release-2.1.9.md
@@ -1,6 +1,5 @@
---
title: TiDB 2.1.9 Release Notes
-aliases: ['/docs/dev/releases/release-2.1.9/','/docs/dev/releases/2.1.9/']
---
# TiDB 2.1.9 Release Notes
diff --git a/releases/release-3.0-beta.md b/releases/release-3.0-beta.md
index f17d7cce3b4cb..84cb80d478e49 100644
--- a/releases/release-3.0-beta.md
+++ b/releases/release-3.0-beta.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0 Beta Release Notes
-aliases: ['/docs/dev/releases/release-3.0-beta/','/docs/dev/releases/3.0beta/']
---
# TiDB 3.0 Beta Release Notes
diff --git a/releases/release-3.0-ga.md b/releases/release-3.0-ga.md
index 3230dfff1d0db..09f285106e173 100644
--- a/releases/release-3.0-ga.md
+++ b/releases/release-3.0-ga.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0 GA Release Notes
-aliases: ['/docs/dev/releases/release-3.0-ga/','/docs/dev/releases/3.0-ga/']
---
# TiDB 3.0 GA Release Notes
diff --git a/releases/release-3.0.0-beta.1.md b/releases/release-3.0.0-beta.1.md
index d2c3bd701216e..7de409fb40553 100644
--- a/releases/release-3.0.0-beta.1.md
+++ b/releases/release-3.0.0-beta.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.0 Beta.1 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.0-beta.1/','/docs/dev/releases/3.0.0-beta.1/']
---
# TiDB 3.0.0 Beta.1 Release Notes
diff --git a/releases/release-3.0.0-rc.1.md b/releases/release-3.0.0-rc.1.md
index 75c1d505e4668..6675a8a2c15f1 100644
--- a/releases/release-3.0.0-rc.1.md
+++ b/releases/release-3.0.0-rc.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.0-rc.1 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.0-rc.1/','/docs/dev/releases/3.0.0-rc.1/']
---
# TiDB 3.0.0-rc.1 Release Notes
diff --git a/releases/release-3.0.0-rc.2.md b/releases/release-3.0.0-rc.2.md
index e42304e0a55f8..2af344325457a 100644
--- a/releases/release-3.0.0-rc.2.md
+++ b/releases/release-3.0.0-rc.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.0-rc.2 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.0-rc.2/','/docs/dev/releases/3.0.0-rc.2/']
---
# TiDB 3.0.0-rc.2 Release Notes
diff --git a/releases/release-3.0.0-rc.3.md b/releases/release-3.0.0-rc.3.md
index fe2040a8cbf0d..3437331cbaae3 100644
--- a/releases/release-3.0.0-rc.3.md
+++ b/releases/release-3.0.0-rc.3.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.0-rc.3 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.0-rc.3/','/docs/dev/releases/3.0.0-rc.3/']
---
# TiDB 3.0.0-rc.3 Release Notes
diff --git a/releases/release-3.0.1.md b/releases/release-3.0.1.md
index dff4e6f45976d..653998b84e7db 100644
--- a/releases/release-3.0.1.md
+++ b/releases/release-3.0.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.1 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.1/','/docs/dev/releases/3.0.1/']
---
# TiDB 3.0.1 Release Notes
diff --git a/releases/release-3.0.10.md b/releases/release-3.0.10.md
index 3b93e674ac338..4f15e46b42761 100644
--- a/releases/release-3.0.10.md
+++ b/releases/release-3.0.10.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.10 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.10/','/docs/dev/releases/3.0.10/']
---
# TiDB 3.0.10 Release Notes
diff --git a/releases/release-3.0.11.md b/releases/release-3.0.11.md
index 6cf5ba941d5c0..0215439308371 100644
--- a/releases/release-3.0.11.md
+++ b/releases/release-3.0.11.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.11 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.11/','/docs/dev/releases/3.0.11/']
---
# TiDB 3.0.11 Release Notes
diff --git a/releases/release-3.0.12.md b/releases/release-3.0.12.md
index c60f5d1bfe451..92fdc30456692 100644
--- a/releases/release-3.0.12.md
+++ b/releases/release-3.0.12.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.12 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.12/','/docs/dev/releases/3.0.12/']
---
# TiDB 3.0.12 Release Notes
diff --git a/releases/release-3.0.13.md b/releases/release-3.0.13.md
index 1622493ec1eeb..0c6bf5e42439a 100644
--- a/releases/release-3.0.13.md
+++ b/releases/release-3.0.13.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.13 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.13/','/docs/dev/releases/3.0.13/']
---
# TiDB 3.0.13 Release Notes
diff --git a/releases/release-3.0.14.md b/releases/release-3.0.14.md
index 7fe7fa8ae9a66..520f0294134ed 100644
--- a/releases/release-3.0.14.md
+++ b/releases/release-3.0.14.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.14 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.14/','/docs/dev/releases/3.0.14/']
---
# TiDB 3.0.14 Release Notes
diff --git a/releases/release-3.0.15.md b/releases/release-3.0.15.md
index f82b48ddde541..7432c12cc2a92 100644
--- a/releases/release-3.0.15.md
+++ b/releases/release-3.0.15.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.15 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.15/']
---
# TiDB 3.0.15 Release Notes
diff --git a/releases/release-3.0.16.md b/releases/release-3.0.16.md
index 387a68d9d006f..3622428342396 100644
--- a/releases/release-3.0.16.md
+++ b/releases/release-3.0.16.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.16 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.16/']
---
# TiDB 3.0.16 Release Notes
diff --git a/releases/release-3.0.2.md b/releases/release-3.0.2.md
index 3613e2d91e571..e4f063fa557b4 100644
--- a/releases/release-3.0.2.md
+++ b/releases/release-3.0.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.2 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.2/','/docs/dev/releases/3.0.2/']
---
# TiDB 3.0.2 Release Notes
diff --git a/releases/release-3.0.3.md b/releases/release-3.0.3.md
index 0d59196f71cb2..ec4c22cf063eb 100644
--- a/releases/release-3.0.3.md
+++ b/releases/release-3.0.3.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.3 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.3/','/docs/dev/releases/3.0.3/']
---
# TiDB 3.0.3 Release Notes
diff --git a/releases/release-3.0.4.md b/releases/release-3.0.4.md
index 2c0298d52c18b..061cf61ca8bba 100644
--- a/releases/release-3.0.4.md
+++ b/releases/release-3.0.4.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.4 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.4/','/docs/dev/releases/3.0.4/']
---
# TiDB 3.0.4 Release Notes
diff --git a/releases/release-3.0.5.md b/releases/release-3.0.5.md
index 2a8474be3bf61..3b1ec721eb938 100644
--- a/releases/release-3.0.5.md
+++ b/releases/release-3.0.5.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.5 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.5/','/docs/dev/releases/3.0.5/']
---
# TiDB 3.0.5 Release Notes
diff --git a/releases/release-3.0.6.md b/releases/release-3.0.6.md
index 3c5db5c74356c..82f45814fc88d 100644
--- a/releases/release-3.0.6.md
+++ b/releases/release-3.0.6.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.6 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.6/','/docs/dev/releases/3.0.6/']
---
# TiDB 3.0.6 Release Notes
diff --git a/releases/release-3.0.7.md b/releases/release-3.0.7.md
index 7f99c56e3907c..d6d53102f9ddf 100644
--- a/releases/release-3.0.7.md
+++ b/releases/release-3.0.7.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.7 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.7/','/docs/dev/releases/3.0.7/']
---
# TiDB 3.0.7 Release Notes
diff --git a/releases/release-3.0.8.md b/releases/release-3.0.8.md
index cf29b6243f527..8adfd628a50b5 100644
--- a/releases/release-3.0.8.md
+++ b/releases/release-3.0.8.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.8 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.8/','/docs/dev/releases/3.0.8/']
---
# TiDB 3.0.8 Release Notes
diff --git a/releases/release-3.0.9.md b/releases/release-3.0.9.md
index b7ddfea912e0d..bd47ed74c52a3 100644
--- a/releases/release-3.0.9.md
+++ b/releases/release-3.0.9.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.0.9 Release Notes
-aliases: ['/docs/dev/releases/release-3.0.9/','/docs/dev/releases/3.0.9/']
---
# TiDB 3.0.9 Release Notes
diff --git a/releases/release-3.1.0-beta.1.md b/releases/release-3.1.0-beta.1.md
index f3e2c3bc48d7c..d29916d6ecba0 100644
--- a/releases/release-3.1.0-beta.1.md
+++ b/releases/release-3.1.0-beta.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.1 Beta.1 Release Notes
-aliases: ['/docs/dev/releases/release-3.1.0-beta.1/','/docs/dev/releases/3.1.0-beta.1/']
---
# TiDB 3.1 Beta.1 Release Notes
diff --git a/releases/release-3.1.0-beta.2.md b/releases/release-3.1.0-beta.2.md
index 92a4c5a6aecce..880c338b98af2 100644
--- a/releases/release-3.1.0-beta.2.md
+++ b/releases/release-3.1.0-beta.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.1 Beta.2 Release Notes
-aliases: ['/docs/dev/releases/release-3.1.0-beta.2/','/docs/dev/releases/3.1.0-beta.2/']
---
# TiDB 3.1 Beta.2 Release Notes
diff --git a/releases/release-3.1.0-beta.md b/releases/release-3.1.0-beta.md
index 83b69a195ba28..d5061af38cba1 100644
--- a/releases/release-3.1.0-beta.md
+++ b/releases/release-3.1.0-beta.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.1 Beta Release Notes
-aliases: ['/docs/dev/releases/release-3.1.0-beta/','/docs/dev/releases/3.1.0-beta/']
---
# TiDB 3.1 Beta Release Notes
diff --git a/releases/release-3.1.0-ga.md b/releases/release-3.1.0-ga.md
index dfc91bbe2f398..4d54ad971ef37 100644
--- a/releases/release-3.1.0-ga.md
+++ b/releases/release-3.1.0-ga.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.1.0 GA Release Notes
-aliases: ['/docs/dev/releases/release-3.1.0-ga/','/docs/dev/releases/3.1.0-ga/']
---
# TiDB 3.1.0 GA Release Notes
diff --git a/releases/release-3.1.0-rc.md b/releases/release-3.1.0-rc.md
index f4d9e78870390..af29500c30746 100644
--- a/releases/release-3.1.0-rc.md
+++ b/releases/release-3.1.0-rc.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.1 RC Release Notes
-aliases: ['/docs/dev/releases/release-3.1.0-rc/','/docs/dev/releases/3.1.0-rc/']
---
# TiDB 3.1 RC Release Notes
diff --git a/releases/release-3.1.1.md b/releases/release-3.1.1.md
index 43a4f6a91408c..61430c4ee5e11 100644
--- a/releases/release-3.1.1.md
+++ b/releases/release-3.1.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.1.1 Release Notes
-aliases: ['/docs/dev/releases/release-3.1.1/','/docs/dev/releases/3.1.1/']
---
# TiDB 3.1.1 Release Notes
diff --git a/releases/release-3.1.2.md b/releases/release-3.1.2.md
index 4c3348588b755..98a61a8bc4341 100644
--- a/releases/release-3.1.2.md
+++ b/releases/release-3.1.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 3.1.2 Release Notes
-aliases: ['/docs/dev/releases/release-3.1.2/']
---
# TiDB 3.1.2 Release Notes
diff --git a/releases/release-4.0-ga.md b/releases/release-4.0-ga.md
index a1a2ce0d309c8..eb129df556db6 100644
--- a/releases/release-4.0-ga.md
+++ b/releases/release-4.0-ga.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0 GA Release Notes
-aliases: ['/docs/dev/releases/release-4.0-ga/']
---
# TiDB 4.0 GA Release Notes
diff --git a/releases/release-4.0.0-beta.1.md b/releases/release-4.0.0-beta.1.md
index 3b87df979d200..557cb1cef11b9 100644
--- a/releases/release-4.0.0-beta.1.md
+++ b/releases/release-4.0.0-beta.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0.0 Beta.1 Release Notes
-aliases: ['/docs/dev/releases/release-4.0.0-beta.1/','/docs/dev/releases/4.0.0-beta.1/']
---
# TiDB 4.0.0 Beta.1 Release Notes
diff --git a/releases/release-4.0.0-beta.2.md b/releases/release-4.0.0-beta.2.md
index 3e08aae9c1668..8bc58677f3c57 100644
--- a/releases/release-4.0.0-beta.2.md
+++ b/releases/release-4.0.0-beta.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0.0 Beta.2 Release Notes
-aliases: ['/docs/dev/releases/release-4.0.0-beta.2/','/docs/dev/releases/4.0.0-beta.2/']
---
# TiDB 4.0.0 Beta.2 Release Notes
diff --git a/releases/release-4.0.0-beta.md b/releases/release-4.0.0-beta.md
index acc50833090bc..e4d1e3b28f0dd 100644
--- a/releases/release-4.0.0-beta.md
+++ b/releases/release-4.0.0-beta.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0 Beta Release Notes
-aliases: ['/docs/dev/releases/release-4.0.0-beta/','/docs/dev/releases/4.0.0-beta/']
---
# TiDB 4.0 Beta Release Notes
diff --git a/releases/release-4.0.0-rc.1.md b/releases/release-4.0.0-rc.1.md
index d9deb0a4283fe..8fdba4d6a77b2 100644
--- a/releases/release-4.0.0-rc.1.md
+++ b/releases/release-4.0.0-rc.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0 RC.1 Release Notes
-aliases: ['/docs/dev/releases/release-4.0.0-rc.1/','/docs/dev/releases/4.0.0-rc.1/']
---
# TiDB 4.0 RC.1 Release Notes
diff --git a/releases/release-4.0.0-rc.2.md b/releases/release-4.0.0-rc.2.md
index 3798c1c624f92..ce40bfce9c4fc 100644
--- a/releases/release-4.0.0-rc.2.md
+++ b/releases/release-4.0.0-rc.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0 RC.2 Release Notes
-aliases: ['/docs/dev/releases/release-4.0.0-rc.2/']
---
# TiDB 4.0 RC.2 Release Notes
diff --git a/releases/release-4.0.0-rc.md b/releases/release-4.0.0-rc.md
index caa0b3e9b5ee0..85be9bbf75d70 100644
--- a/releases/release-4.0.0-rc.md
+++ b/releases/release-4.0.0-rc.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0 RC Release Notes
-aliases: ['/docs/dev/releases/release-4.0.0-rc/','/docs/dev/releases/4.0.0-rc/']
---
# TiDB 4.0 RC Release Notes
diff --git a/releases/release-4.0.1.md b/releases/release-4.0.1.md
index 733e262e7bfe9..6668fb60c7257 100644
--- a/releases/release-4.0.1.md
+++ b/releases/release-4.0.1.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0.1 Release Notes
-aliases: ['/docs/dev/releases/release-4.0.1/']
---
# TiDB 4.0.1 Release Notes
diff --git a/releases/release-4.0.2.md b/releases/release-4.0.2.md
index b2c183ce68dfb..80d02033336a7 100644
--- a/releases/release-4.0.2.md
+++ b/releases/release-4.0.2.md
@@ -1,6 +1,5 @@
---
title: TiDB 4.0.2 Release Notes
-aliases: ['/docs/dev/releases/release-4.0.2/']
---
# TiDB 4.0.2 Release Notes
diff --git a/releases/release-notes.md b/releases/release-notes.md
index 7fdaaed929dc9..9d9b1983ffe46 100644
--- a/releases/release-notes.md
+++ b/releases/release-notes.md
@@ -1,6 +1,5 @@
---
title: Release Notes
-aliases: ['/docs/dev/releases/release-notes/','/docs/dev/releases/rn/']
---
# TiDB Release Notes
diff --git a/releases/release-pre-ga.md b/releases/release-pre-ga.md
index effafb4181013..d35be2327bbf8 100644
--- a/releases/release-pre-ga.md
+++ b/releases/release-pre-ga.md
@@ -1,6 +1,5 @@
---
title: Pre-GA release notes
-aliases: ['/docs/dev/releases/release-pre-ga/','/docs/dev/releases/prega/']
---
# Pre-GA Release Notes
diff --git a/releases/release-rc.1.md b/releases/release-rc.1.md
index f3f1962ffd8d4..0f5eb990b4a63 100644
--- a/releases/release-rc.1.md
+++ b/releases/release-rc.1.md
@@ -1,6 +1,5 @@
---
title: TiDB RC1 Release Notes
-aliases: ['/docs/dev/releases/release-rc.1/','/docs/dev/releases/rc1/']
---
# TiDB RC1 Release Notes
diff --git a/releases/release-rc.2.md b/releases/release-rc.2.md
index b7bdbfac95a4b..190323198c01b 100644
--- a/releases/release-rc.2.md
+++ b/releases/release-rc.2.md
@@ -1,6 +1,5 @@
---
title: TiDB RC2 Release Notes
-aliases: ['/docs/dev/releases/release-rc.2/','/docs/dev/releases/rc2/']
---
# TiDB RC2 Release Notes
diff --git a/releases/release-rc.3.md b/releases/release-rc.3.md
index d2542066fdbfa..4372aa7b62933 100644
--- a/releases/release-rc.3.md
+++ b/releases/release-rc.3.md
@@ -1,6 +1,5 @@
---
title: TiDB RC3 Release Notes
-aliases: ['/docs/dev/releases/release-rc.3/','/docs/dev/releases/rc3/']
---
# TiDB RC3 Release Notes
diff --git a/releases/release-rc.4.md b/releases/release-rc.4.md
index 007b4b5e0ad41..6f3ed61ea92b9 100644
--- a/releases/release-rc.4.md
+++ b/releases/release-rc.4.md
@@ -1,6 +1,5 @@
---
title: TiDB RC4 Release Notes
-aliases: ['/docs/dev/releases/release-rc.4/','/docs/dev/releases/rc4/']
---
# TiDB RC4 Release Notes
diff --git a/report-issue.md b/report-issue.md
index 49877796e90cf..5e70a4e5912d6 100644
--- a/report-issue.md
+++ b/report-issue.md
@@ -1,7 +1,6 @@
---
title: Report an Issue
summary: Report an issue with your TiDB installation.
-aliases: ['/docs/dev/report-issue/']
---
# Report an Issue
diff --git a/roadmap.md b/roadmap.md
index 2a3fba9d06f79..71014b9cbd44a 100644
--- a/roadmap.md
+++ b/roadmap.md
@@ -1,6 +1,5 @@
---
title: TiDB Roadmap
-aliases: ['/tidb/v5.0/roadmap','/docs/ROADMAP/','/docs/roadmap/','/docs/stable/roadmap/','/docs/v4.0/roadmap/','/tidb/stable/roadmap','/docs/v3.1/roadmap/','/tidb/v3.1/roadmap','/docs/v3.0/roadmap/','/tidb/v3.0/roadmap','/docs/v2.1/roadmap/','/tidb/v2.1/roadmap']
---
diff --git a/role-based-access-control.md b/role-based-access-control.md
index 9706e2270a3f5..d53946d00e9fc 100644
--- a/role-based-access-control.md
+++ b/role-based-access-control.md
@@ -1,7 +1,6 @@
---
title: Role-Based Access Control
summary: This document introduces TiDB RBAC operations and implementation.
-aliases: ['/docs/dev/role-based-access-control/','/docs/dev/reference/security/role-based-access-control/']
---
# Role-Based Access Control
diff --git a/scale-tidb-using-tiup.md b/scale-tidb-using-tiup.md
index 3a43bdd976a67..9791c26d17081 100644
--- a/scale-tidb-using-tiup.md
+++ b/scale-tidb-using-tiup.md
@@ -1,7 +1,6 @@
---
title: Scale the TiDB Cluster Using TiUP
summary: Learn how to scale the TiDB cluster using TiUP.
-aliases: ['/docs/dev/scale-tidb-using-tiup/','/docs/dev/how-to/scale/with-tiup/']
---
# Scale the TiDB Cluster Using TiUP
diff --git a/schedule-replicas-by-topology-labels.md b/schedule-replicas-by-topology-labels.md
index fb8895af77c07..32bc76442e84e 100644
--- a/schedule-replicas-by-topology-labels.md
+++ b/schedule-replicas-by-topology-labels.md
@@ -1,7 +1,6 @@
---
title: Schedule Replicas by Topology Labels
summary: Learn how to schedule replicas by topology labels.
-aliases: ['/docs/dev/location-awareness/','/docs/dev/how-to/deploy/geographic-redundancy/location-awareness/','/tidb/dev/location-awareness']
---
# Schedule Replicas by Topology Labels
diff --git a/schema-object-names.md b/schema-object-names.md
index 36c458ad42e4f..671ea61f197cf 100644
--- a/schema-object-names.md
+++ b/schema-object-names.md
@@ -1,7 +1,6 @@
---
title: Schema Object Names
summary: Learn about schema object names in TiDB SQL statements.
-aliases: ['/docs/dev/schema-object-names/','/docs/dev/reference/sql/language-structure/schema-object-names/']
---
# Schema Object Names
diff --git a/security-compatibility-with-mysql.md b/security-compatibility-with-mysql.md
index fce6496e8e1ad..db1d94f95c511 100644
--- a/security-compatibility-with-mysql.md
+++ b/security-compatibility-with-mysql.md
@@ -1,7 +1,6 @@
---
title: Security Compatibility with MySQL
summary: Learn TiDB's security compatibilities with MySQL.
-aliases: ['/docs/dev/security-compatibility-with-mysql/','/docs/dev/reference/security/compatibility/']
---
# Security Compatibility with MySQL
diff --git a/sql-mode.md b/sql-mode.md
index 5515037889701..b82af1d8aba19 100644
--- a/sql-mode.md
+++ b/sql-mode.md
@@ -1,7 +1,6 @@
---
title: SQL Mode
summary: Learn SQL mode.
-aliases: ['/docs/dev/sql-mode/','/docs/dev/reference/sql/sql-mode/']
---
# SQL Mode
diff --git a/sql-optimization-concepts.md b/sql-optimization-concepts.md
index 45cb8fccb212b..975fa4bdc3754 100644
--- a/sql-optimization-concepts.md
+++ b/sql-optimization-concepts.md
@@ -1,7 +1,6 @@
---
title: SQL Optimization Process
summary: Learn about the logical and physical optimization of SQL in TiDB.
-aliases: ['/docs/dev/sql-optimization-concepts/','/docs/dev/reference/performance/sql-optimizer-overview/']
---
# SQL Optimization Process
diff --git a/sql-plan-management.md b/sql-plan-management.md
index b2cf69acd8969..7edd0a51b236d 100644
--- a/sql-plan-management.md
+++ b/sql-plan-management.md
@@ -1,7 +1,6 @@
---
title: SQL Plan Management (SPM)
summary: Learn about SQL Plan Management in TiDB.
-aliases: ['/docs/dev/sql-plan-management/','/docs/dev/reference/performance/execution-plan-bind/','/docs/dev/execution-plan-binding/']
---
# SQL Plan Management (SPM)
diff --git a/sql-statements/sql-statement-add-column.md b/sql-statements/sql-statement-add-column.md
index 5471ef1728938..49e83eef0d5a1 100644
--- a/sql-statements/sql-statement-add-column.md
+++ b/sql-statements/sql-statement-add-column.md
@@ -1,7 +1,6 @@
---
title: ADD COLUMN | TiDB SQL Statement Reference
summary: An overview of the usage of ADD COLUMN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-add-column/','/docs/dev/reference/sql/statements/add-column/']
---
# ADD COLUMN
diff --git a/sql-statements/sql-statement-add-index.md b/sql-statements/sql-statement-add-index.md
index d55a068c4fe5e..f704c14a485d8 100644
--- a/sql-statements/sql-statement-add-index.md
+++ b/sql-statements/sql-statement-add-index.md
@@ -1,7 +1,6 @@
---
title: ADD INDEX | TiDB SQL Statement Reference
summary: An overview of the usage of ADD INDEX for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-add-index/','/docs/dev/reference/sql/statements/add-index/']
---
# ADD INDEX
diff --git a/sql-statements/sql-statement-admin.md b/sql-statements/sql-statement-admin.md
index 8bdf6836adc94..c87c154b52f16 100644
--- a/sql-statements/sql-statement-admin.md
+++ b/sql-statements/sql-statement-admin.md
@@ -1,7 +1,6 @@
---
title: ADMIN | TiDB SQL Statement Reference
summary: An overview of the usage of ADMIN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-admin/','/docs/dev/reference/sql/statements/admin/']
---
# ADMIN
diff --git a/sql-statements/sql-statement-alter-database.md b/sql-statements/sql-statement-alter-database.md
index 9420182e2fd0b..66749b10a578b 100644
--- a/sql-statements/sql-statement-alter-database.md
+++ b/sql-statements/sql-statement-alter-database.md
@@ -1,7 +1,6 @@
---
title: ALTER DATABASE | TiDB SQL Statement Reference
summary: An overview of the usage of ALTER DATABASE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-alter-database/','/docs/dev/reference/sql/statements/alter-database/']
---
# ALTER DATABASE
diff --git a/sql-statements/sql-statement-alter-index.md b/sql-statements/sql-statement-alter-index.md
index bff21e3ff4fca..feb9391fa316c 100644
--- a/sql-statements/sql-statement-alter-index.md
+++ b/sql-statements/sql-statement-alter-index.md
@@ -1,7 +1,6 @@
---
title: ALTER INDEX
summary: An overview of the usage of ALTER INDEX for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-alter-index/']
---
# ALTER INDEX
diff --git a/sql-statements/sql-statement-alter-instance.md b/sql-statements/sql-statement-alter-instance.md
index a71c46ef53b77..9b64c4f5b9393 100644
--- a/sql-statements/sql-statement-alter-instance.md
+++ b/sql-statements/sql-statement-alter-instance.md
@@ -1,7 +1,6 @@
---
title: ALTER INSTANCE
summary: Learn the overview of the `ALTER INSTANCE` usage in TiDB.
-aliases: ['/docs/dev/sql-statements/sql-statement-alter-instance/','/docs/dev/reference/sql/statements/alter-instance/']
---
# ALTER INSTANCE
diff --git a/sql-statements/sql-statement-alter-table.md b/sql-statements/sql-statement-alter-table.md
index 520a370ffc081..40722916d8516 100644
--- a/sql-statements/sql-statement-alter-table.md
+++ b/sql-statements/sql-statement-alter-table.md
@@ -1,7 +1,6 @@
---
title: ALTER TABLE | TiDB SQL Statement Reference
summary: An overview of the usage of ALTER TABLE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-alter-table/','/docs/dev/reference/sql/statements/alter-table/']
---
# ALTER TABLE
diff --git a/sql-statements/sql-statement-alter-user.md b/sql-statements/sql-statement-alter-user.md
index 293680864cc3f..5245c9a8d7cd1 100644
--- a/sql-statements/sql-statement-alter-user.md
+++ b/sql-statements/sql-statement-alter-user.md
@@ -1,7 +1,6 @@
---
title: ALTER USER | TiDB SQL Statement Reference
summary: An overview of the usage of ALTER USER for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-alter-user/','/docs/dev/reference/sql/statements/alter-user/']
---
# ALTER USER
diff --git a/sql-statements/sql-statement-analyze-table.md b/sql-statements/sql-statement-analyze-table.md
index e95b2164f9150..bc38a9defd43e 100644
--- a/sql-statements/sql-statement-analyze-table.md
+++ b/sql-statements/sql-statement-analyze-table.md
@@ -1,7 +1,6 @@
---
title: ANALYZE | TiDB SQL Statement Reference
summary: An overview of the usage of ANALYZE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-analyze-table/','/docs/dev/reference/sql/statements/analyze-table/']
---
# ANALYZE
diff --git a/sql-statements/sql-statement-backup.md b/sql-statements/sql-statement-backup.md
index 394553ee97b05..76b9ef62dece1 100644
--- a/sql-statements/sql-statement-backup.md
+++ b/sql-statements/sql-statement-backup.md
@@ -1,7 +1,6 @@
---
title: BACKUP | TiDB SQL Statement Reference
summary: An overview of the usage of BACKUP for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-backup/']
---
# BACKUP
diff --git a/sql-statements/sql-statement-begin.md b/sql-statements/sql-statement-begin.md
index 6c7fa5f1fb299..c1ba8cc1a728e 100644
--- a/sql-statements/sql-statement-begin.md
+++ b/sql-statements/sql-statement-begin.md
@@ -1,7 +1,6 @@
---
title: BEGIN | TiDB SQL Statement Reference
summary: An overview of the usage of BEGIN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-begin/','/docs/dev/reference/sql/statements/begin/']
---
# BEGIN
diff --git a/sql-statements/sql-statement-change-column.md b/sql-statements/sql-statement-change-column.md
index e16d96d25f2dc..8dcb8543f2c42 100644
--- a/sql-statements/sql-statement-change-column.md
+++ b/sql-statements/sql-statement-change-column.md
@@ -1,7 +1,6 @@
---
title: CHANGE COLUMN | TiDB SQL Statement Reference
summary: An overview of the usage of CHANGE COLUMN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-change-column/','/docs/dev/reference/sql/statements/change-column/']
---
# CHANGE COLUMN
diff --git a/sql-statements/sql-statement-change-drainer.md b/sql-statements/sql-statement-change-drainer.md
index be77c6a00e639..0a2fae34bd130 100644
--- a/sql-statements/sql-statement-change-drainer.md
+++ b/sql-statements/sql-statement-change-drainer.md
@@ -1,7 +1,6 @@
---
title: CHANGE DRAINER
summary: An overview of the usage of CHANGE DRAINER for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-change-drainer/']
---
# CHANGE DRAINER
diff --git a/sql-statements/sql-statement-change-pump.md b/sql-statements/sql-statement-change-pump.md
index 8cf1714e0a93e..3ca2615520bac 100644
--- a/sql-statements/sql-statement-change-pump.md
+++ b/sql-statements/sql-statement-change-pump.md
@@ -1,7 +1,6 @@
---
title: CHANGE PUMP
summary: An overview of the usage of CHANGE PUMP for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-change-pump/']
---
# CHANGE PUMP
diff --git a/sql-statements/sql-statement-commit.md b/sql-statements/sql-statement-commit.md
index 85d47841a5fc9..3435879e4ba74 100644
--- a/sql-statements/sql-statement-commit.md
+++ b/sql-statements/sql-statement-commit.md
@@ -1,7 +1,6 @@
---
title: COMMIT | TiDB SQL Statement Reference
summary: An overview of the usage of COMMIT for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-commit/','/docs/dev/reference/sql/statements/commit/']
---
# COMMIT
diff --git a/sql-statements/sql-statement-create-binding.md b/sql-statements/sql-statement-create-binding.md
index c265daea2b594..a1b713228bed8 100644
--- a/sql-statements/sql-statement-create-binding.md
+++ b/sql-statements/sql-statement-create-binding.md
@@ -1,7 +1,6 @@
---
title: CREATE [GLOBAL|SESSION] BINDING
summary: Use of CREATE BINDING in TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-binding/']
---
# CREATE [GLOBAL|SESSION] BINDING
diff --git a/sql-statements/sql-statement-create-database.md b/sql-statements/sql-statement-create-database.md
index 06acd08633d9e..6bf583c1e643c 100644
--- a/sql-statements/sql-statement-create-database.md
+++ b/sql-statements/sql-statement-create-database.md
@@ -1,7 +1,6 @@
---
title: CREATE DATABASE | TiDB SQL Statement Reference
summary: An overview of the usage of CREATE DATABASE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-database/','/docs/dev/reference/sql/statements/create-database/']
---
# CREATE DATABASE
diff --git a/sql-statements/sql-statement-create-index.md b/sql-statements/sql-statement-create-index.md
index f59aba3a17dd6..1a46eda213339 100644
--- a/sql-statements/sql-statement-create-index.md
+++ b/sql-statements/sql-statement-create-index.md
@@ -1,7 +1,6 @@
---
title: CREATE INDEX | TiDB SQL Statement Reference
summary: An overview of the usage of CREATE INDEX for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-index/','/docs/dev/reference/sql/statements/create-index/']
---
# CREATE INDEX
diff --git a/sql-statements/sql-statement-create-sequence.md b/sql-statements/sql-statement-create-sequence.md
index 5d9e087942719..0ad50d427b79f 100644
--- a/sql-statements/sql-statement-create-sequence.md
+++ b/sql-statements/sql-statement-create-sequence.md
@@ -1,7 +1,6 @@
---
title: CREATE SEQUENCE
summary: An overview of the usage of CREATE SEQUENCE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-sequence/','/docs/dev/reference/sql/statements/create-sequence/']
---
# CREATE SEQUENCE
diff --git a/sql-statements/sql-statement-create-table-like.md b/sql-statements/sql-statement-create-table-like.md
index 2d5f65c5bd71b..c0047ace7de67 100644
--- a/sql-statements/sql-statement-create-table-like.md
+++ b/sql-statements/sql-statement-create-table-like.md
@@ -1,7 +1,6 @@
---
title: CREATE TABLE LIKE | TiDB SQL Statement Reference
summary: An overview of the usage of CREATE TABLE LIKE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-table-like/','/docs/dev/reference/sql/statements/create-table-like/']
---
# CREATE TABLE LIKE
diff --git a/sql-statements/sql-statement-create-table.md b/sql-statements/sql-statement-create-table.md
index 55add15b84161..fe13fa4950b38 100644
--- a/sql-statements/sql-statement-create-table.md
+++ b/sql-statements/sql-statement-create-table.md
@@ -1,7 +1,6 @@
---
title: CREATE TABLE | TiDB SQL Statement Reference
summary: An overview of the usage of CREATE TABLE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-table/','/docs/dev/reference/sql/statements/create-table/']
---
# CREATE TABLE
diff --git a/sql-statements/sql-statement-create-user.md b/sql-statements/sql-statement-create-user.md
index 465177d6dc56a..ec7231f4059a0 100644
--- a/sql-statements/sql-statement-create-user.md
+++ b/sql-statements/sql-statement-create-user.md
@@ -1,7 +1,6 @@
---
title: CREATE USER | TiDB SQL Statement Reference
summary: An overview of the usage of CREATE USER for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-user/','/docs/dev/reference/sql/statements/create-user/']
---
# CREATE USER
diff --git a/sql-statements/sql-statement-create-view.md b/sql-statements/sql-statement-create-view.md
index 6a4b907678d42..64a3678af8ca1 100644
--- a/sql-statements/sql-statement-create-view.md
+++ b/sql-statements/sql-statement-create-view.md
@@ -1,7 +1,6 @@
---
title: CREATE VIEW | TiDB SQL Statement Reference
summary: An overview of the usage of CREATE VIEW for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-create-view/','/docs/dev/reference/sql/statements/create-view/']
---
# CREATE VIEW
diff --git a/sql-statements/sql-statement-deallocate.md b/sql-statements/sql-statement-deallocate.md
index 7681a85bb1b3d..2e20bdc503e26 100644
--- a/sql-statements/sql-statement-deallocate.md
+++ b/sql-statements/sql-statement-deallocate.md
@@ -1,7 +1,6 @@
---
title: DEALLOCATE | TiDB SQL Statement Reference
summary: An overview of the usage of DEALLOCATE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-deallocate/','/docs/dev/reference/sql/statements/deallocate/']
---
# DEALLOCATE
diff --git a/sql-statements/sql-statement-delete.md b/sql-statements/sql-statement-delete.md
index 3fc54b1779f4f..7c615ed4d974c 100644
--- a/sql-statements/sql-statement-delete.md
+++ b/sql-statements/sql-statement-delete.md
@@ -1,7 +1,6 @@
---
title: DELETE | TiDB SQL Statement Reference
summary: An overview of the usage of DELETE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-delete/','/docs/dev/reference/sql/statements/delete/']
---
# DELETE
diff --git a/sql-statements/sql-statement-desc.md b/sql-statements/sql-statement-desc.md
index 541f6eee2e0f3..bdc55b29da8ad 100644
--- a/sql-statements/sql-statement-desc.md
+++ b/sql-statements/sql-statement-desc.md
@@ -1,7 +1,6 @@
---
title: DESC | TiDB SQL Statement Reference
summary: An overview of the usage of `DESC` for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-desc/','/docs/dev/reference/sql/statements/desc/']
---
# DESC
diff --git a/sql-statements/sql-statement-describe.md b/sql-statements/sql-statement-describe.md
index 009b9d6ea8db9..785b7d2372bb1 100644
--- a/sql-statements/sql-statement-describe.md
+++ b/sql-statements/sql-statement-describe.md
@@ -1,7 +1,6 @@
---
title: DESCRIBE | TiDB SQL Statement Reference
summary: An overview of the usage of DESCRIBE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-describe/','/docs/dev/reference/sql/statements/describe/']
---
# DESCRIBE
diff --git a/sql-statements/sql-statement-do.md b/sql-statements/sql-statement-do.md
index 6babd12a94748..4722a2363d8cf 100644
--- a/sql-statements/sql-statement-do.md
+++ b/sql-statements/sql-statement-do.md
@@ -1,7 +1,6 @@
---
title: DO | TiDB SQL Statement Reference
summary: An overview of the usage of DO for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-do/','/docs/dev/reference/sql/statements/do/']
---
# DO
diff --git a/sql-statements/sql-statement-drop-binding.md b/sql-statements/sql-statement-drop-binding.md
index 22e031cb7a0de..50d5ba0a7e23f 100644
--- a/sql-statements/sql-statement-drop-binding.md
+++ b/sql-statements/sql-statement-drop-binding.md
@@ -1,7 +1,6 @@
---
title: DROP [GLOBAL|SESSION] BINDING
summary: Use of DROP BINDING in TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-binding/']
---
# DROP [GLOBAL|SESSION] BINDING
diff --git a/sql-statements/sql-statement-drop-column.md b/sql-statements/sql-statement-drop-column.md
index a6e5dcbe1ce16..027e882036472 100644
--- a/sql-statements/sql-statement-drop-column.md
+++ b/sql-statements/sql-statement-drop-column.md
@@ -1,7 +1,6 @@
---
title: DROP COLUMN | TiDB SQL Statement Reference
summary: An overview of the usage of DROP COLUMN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-column/','/docs/dev/reference/sql/statements/drop-column/']
---
# DROP COLUMN
diff --git a/sql-statements/sql-statement-drop-database.md b/sql-statements/sql-statement-drop-database.md
index b8a822f3ea392..3d0595d9c87b0 100644
--- a/sql-statements/sql-statement-drop-database.md
+++ b/sql-statements/sql-statement-drop-database.md
@@ -1,7 +1,6 @@
---
title: DROP DATABASE | TiDB SQL Statement Reference
summary: An overview of the usage of DROP DATABASE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-database/','/docs/dev/reference/sql/statements/drop-database/']
---
# DROP DATABASE
diff --git a/sql-statements/sql-statement-drop-index.md b/sql-statements/sql-statement-drop-index.md
index 702ced4eb24f3..e360540091b31 100644
--- a/sql-statements/sql-statement-drop-index.md
+++ b/sql-statements/sql-statement-drop-index.md
@@ -1,7 +1,6 @@
---
title: DROP INDEX | TiDB SQL Statement Reference
summary: An overview of the usage of DROP INDEX for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-index/','/docs/dev/reference/sql/statements/drop-index/']
---
# DROP INDEX
diff --git a/sql-statements/sql-statement-drop-sequence.md b/sql-statements/sql-statement-drop-sequence.md
index ca346c168859f..130a4fa7a572e 100644
--- a/sql-statements/sql-statement-drop-sequence.md
+++ b/sql-statements/sql-statement-drop-sequence.md
@@ -1,7 +1,6 @@
---
title: DROP SEQUENCE
summary: An overview of the usage of DROP SEQUENCE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-sequence/','/docs/dev/reference/sql/statements/drop-sequence/']
---
# DROP SEQUENCE
diff --git a/sql-statements/sql-statement-drop-stats.md b/sql-statements/sql-statement-drop-stats.md
index e0d2f4e668a60..ea225a4aca936 100644
--- a/sql-statements/sql-statement-drop-stats.md
+++ b/sql-statements/sql-statement-drop-stats.md
@@ -1,7 +1,6 @@
---
title: DROP STATS
summary: An overview of the usage of DROP STATS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-stats/']
---
# DROP STATS
diff --git a/sql-statements/sql-statement-drop-table.md b/sql-statements/sql-statement-drop-table.md
index b52af1f3ff255..0fdd44d5875bb 100644
--- a/sql-statements/sql-statement-drop-table.md
+++ b/sql-statements/sql-statement-drop-table.md
@@ -1,7 +1,6 @@
---
title: DROP TABLE | TiDB SQL Statement Reference
summary: An overview of the usage of DROP TABLE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-table/','/docs/dev/reference/sql/statements/drop-table/']
---
# DROP TABLE
diff --git a/sql-statements/sql-statement-drop-user.md b/sql-statements/sql-statement-drop-user.md
index dd9b4ae9c024b..aa4dde884574b 100644
--- a/sql-statements/sql-statement-drop-user.md
+++ b/sql-statements/sql-statement-drop-user.md
@@ -1,7 +1,6 @@
---
title: DROP USER | TiDB SQL Statement Reference
summary: An overview of the usage of DROP USER for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-user/','/docs/dev/reference/sql/statements/drop-user/']
---
# DROP USER
diff --git a/sql-statements/sql-statement-drop-view.md b/sql-statements/sql-statement-drop-view.md
index 9685072629239..4cfa6e6af8f2c 100644
--- a/sql-statements/sql-statement-drop-view.md
+++ b/sql-statements/sql-statement-drop-view.md
@@ -1,7 +1,6 @@
---
title: DROP VIEW | TiDB SQL Statement Reference
summary: An overview of the usage of DROP VIEW for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-drop-view/','/docs/dev/reference/sql/statements/drop-view/']
---
# DROP VIEW
diff --git a/sql-statements/sql-statement-execute.md b/sql-statements/sql-statement-execute.md
index 8c76b17055ed7..6c63b408f50b4 100644
--- a/sql-statements/sql-statement-execute.md
+++ b/sql-statements/sql-statement-execute.md
@@ -1,7 +1,6 @@
---
title: EXECUTE | TiDB SQL Statement Reference
summary: An overview of the usage of EXECUTE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-execute/','/docs/dev/reference/sql/statements/execute/']
---
# EXECUTE
diff --git a/sql-statements/sql-statement-explain-analyze.md b/sql-statements/sql-statement-explain-analyze.md
index ae67470fd32e9..dee08719a4115 100644
--- a/sql-statements/sql-statement-explain-analyze.md
+++ b/sql-statements/sql-statement-explain-analyze.md
@@ -1,7 +1,6 @@
---
title: EXPLAIN ANALYZE | TiDB SQL Statement Reference
summary: An overview of the usage of EXPLAIN ANALYZE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-explain-analyze/','/docs/dev/reference/sql/statements/explain-analyze/']
---
# EXPLAIN ANALYZE
diff --git a/sql-statements/sql-statement-explain.md b/sql-statements/sql-statement-explain.md
index 23738f042e524..8aeae67fb9c01 100644
--- a/sql-statements/sql-statement-explain.md
+++ b/sql-statements/sql-statement-explain.md
@@ -1,7 +1,6 @@
---
title: EXPLAIN | TiDB SQL Statement Reference
summary: An overview of the usage of EXPLAIN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-explain/','/docs/dev/reference/sql/statements/explain/']
---
# `EXPLAIN`
diff --git a/sql-statements/sql-statement-flashback-table.md b/sql-statements/sql-statement-flashback-table.md
index 90f0d1b890445..26f34a638f36e 100644
--- a/sql-statements/sql-statement-flashback-table.md
+++ b/sql-statements/sql-statement-flashback-table.md
@@ -1,7 +1,6 @@
---
title: FLASHBACK TABLE
summary: Learn how to recover tables using the `FLASHBACK TABLE` statement.
-aliases: ['/docs/dev/sql-statements/sql-statement-flashback-table/','/docs/dev/reference/sql/statements/flashback-table/']
---
# FLASHBACK TABLE
diff --git a/sql-statements/sql-statement-flush-privileges.md b/sql-statements/sql-statement-flush-privileges.md
index 6bad67d7acd4f..6ae66b7fc5860 100644
--- a/sql-statements/sql-statement-flush-privileges.md
+++ b/sql-statements/sql-statement-flush-privileges.md
@@ -1,7 +1,6 @@
---
title: FLUSH PRIVILEGES | TiDB SQL Statement Reference
summary: An overview of the usage of FLUSH PRIVILEGES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-flush-privileges/','/docs/dev/reference/sql/statements/flush-privileges/']
---
# FLUSH PRIVILEGES
diff --git a/sql-statements/sql-statement-flush-status.md b/sql-statements/sql-statement-flush-status.md
index a55a69bcec5c1..0ed8003f33d87 100644
--- a/sql-statements/sql-statement-flush-status.md
+++ b/sql-statements/sql-statement-flush-status.md
@@ -1,7 +1,6 @@
---
title: FLUSH STATUS | TiDB SQL Statement Reference
summary: An overview of the usage of FLUSH STATUS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-flush-status/','/docs/dev/reference/sql/statements/flush-status/']
---
# FLUSH STATUS
diff --git a/sql-statements/sql-statement-flush-tables.md b/sql-statements/sql-statement-flush-tables.md
index 4ce04037238fe..3d14ed1eb28fd 100644
--- a/sql-statements/sql-statement-flush-tables.md
+++ b/sql-statements/sql-statement-flush-tables.md
@@ -1,7 +1,6 @@
---
title: FLUSH TABLES | TiDB SQL Statement Reference
summary: An overview of the usage of FLUSH TABLES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-flush-tables/','/docs/dev/reference/sql/statements/flush-tables/']
---
# FLUSH TABLES
diff --git a/sql-statements/sql-statement-grant-privileges.md b/sql-statements/sql-statement-grant-privileges.md
index 98ad080f6eef4..5fa63cfd196d3 100644
--- a/sql-statements/sql-statement-grant-privileges.md
+++ b/sql-statements/sql-statement-grant-privileges.md
@@ -1,7 +1,6 @@
---
title: GRANT | TiDB SQL Statement Reference
summary: An overview of the usage of GRANT for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-grant-privileges/','/docs/dev/reference/sql/statements/grant-privileges/']
---
# `GRANT `
diff --git a/sql-statements/sql-statement-insert.md b/sql-statements/sql-statement-insert.md
index 7cc8a30e417f2..9824806b553ea 100644
--- a/sql-statements/sql-statement-insert.md
+++ b/sql-statements/sql-statement-insert.md
@@ -1,7 +1,6 @@
---
title: INSERT | TiDB SQL Statement Reference
summary: An overview of the usage of INSERT for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-insert/','/docs/dev/reference/sql/statements/insert/']
---
# INSERT
diff --git a/sql-statements/sql-statement-kill.md b/sql-statements/sql-statement-kill.md
index 2d986bc64db10..d01d09457b785 100644
--- a/sql-statements/sql-statement-kill.md
+++ b/sql-statements/sql-statement-kill.md
@@ -1,7 +1,6 @@
---
title: KILL [TIDB] | TiDB SQL Statement Reference
summary: An overview of the usage of KILL [TIDB] for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-kill/','/docs/dev/reference/sql/statements/kill/']
---
# KILL [TIDB]
diff --git a/sql-statements/sql-statement-load-data.md b/sql-statements/sql-statement-load-data.md
index 4e249a26414ef..32451705e3168 100644
--- a/sql-statements/sql-statement-load-data.md
+++ b/sql-statements/sql-statement-load-data.md
@@ -1,7 +1,6 @@
---
title: LOAD DATA | TiDB SQL Statement Reference
summary: An overview of the usage of LOAD DATA for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-load-data/','/docs/dev/reference/sql/statements/load-data/']
---
# LOAD DATA
diff --git a/sql-statements/sql-statement-load-stats.md b/sql-statements/sql-statement-load-stats.md
index a202e6d16a3c4..983941cd4afdf 100644
--- a/sql-statements/sql-statement-load-stats.md
+++ b/sql-statements/sql-statement-load-stats.md
@@ -1,7 +1,6 @@
---
title: LOAD STATS
summary: An overview of the usage of LOAD STATS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-load-stats/']
---
# LOAD STATS
diff --git a/sql-statements/sql-statement-modify-column.md b/sql-statements/sql-statement-modify-column.md
index bbdfeeb6ebb20..6981b4a71dd34 100644
--- a/sql-statements/sql-statement-modify-column.md
+++ b/sql-statements/sql-statement-modify-column.md
@@ -1,7 +1,6 @@
---
title: MODIFY COLUMN | TiDB SQL Statement Reference
summary: An overview of the usage of MODIFY COLUMN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-modify-column/','/docs/dev/reference/sql/statements/modify-column/']
---
# MODIFY COLUMN
diff --git a/sql-statements/sql-statement-prepare.md b/sql-statements/sql-statement-prepare.md
index 85ce7fffe0b20..578087b366dd5 100644
--- a/sql-statements/sql-statement-prepare.md
+++ b/sql-statements/sql-statement-prepare.md
@@ -1,7 +1,6 @@
---
title: PREPARE | TiDB SQL Statement Reference
summary: An overview of the usage of PREPARE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-prepare/','/docs/dev/reference/sql/statements/prepare/']
---
# PREPARE
diff --git a/sql-statements/sql-statement-recover-table.md b/sql-statements/sql-statement-recover-table.md
index 3069a7d4152ea..4fbafac0ecd8c 100644
--- a/sql-statements/sql-statement-recover-table.md
+++ b/sql-statements/sql-statement-recover-table.md
@@ -1,7 +1,6 @@
---
title: RECOVER TABLE
summary: An overview of the usage of RECOVER TABLE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-recover-table/','/docs/dev/reference/sql/statements/recover-table/']
---
# RECOVER TABLE
diff --git a/sql-statements/sql-statement-rename-index.md b/sql-statements/sql-statement-rename-index.md
index 52d3803e982fa..06bb822bca48d 100644
--- a/sql-statements/sql-statement-rename-index.md
+++ b/sql-statements/sql-statement-rename-index.md
@@ -1,7 +1,6 @@
---
title: RENAME INDEX | TiDB SQL Statement Reference
summary: An overview of the usage of RENAME INDEX for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-rename-index/','/docs/dev/reference/sql/statements/rename-index/']
---
# RENAME INDEX
diff --git a/sql-statements/sql-statement-rename-table.md b/sql-statements/sql-statement-rename-table.md
index 857d8ad5ba3ad..4a72f7f5710a8 100644
--- a/sql-statements/sql-statement-rename-table.md
+++ b/sql-statements/sql-statement-rename-table.md
@@ -1,7 +1,6 @@
---
title: RENAME TABLE | TiDB SQL Statement Reference
summary: An overview of the usage of RENAME TABLE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-rename-table/','/docs/dev/reference/sql/statements/rename-table/']
---
# RENAME TABLE
diff --git a/sql-statements/sql-statement-replace.md b/sql-statements/sql-statement-replace.md
index f95340a839051..924c097cf525a 100644
--- a/sql-statements/sql-statement-replace.md
+++ b/sql-statements/sql-statement-replace.md
@@ -1,7 +1,6 @@
---
title: REPLACE | TiDB SQL Statement Reference
summary: An overview of the usage of REPLACE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-replace/','/docs/dev/reference/sql/statements/replace/']
---
# REPLACE
diff --git a/sql-statements/sql-statement-restore.md b/sql-statements/sql-statement-restore.md
index 76156f9018c9b..08effba19a8eb 100644
--- a/sql-statements/sql-statement-restore.md
+++ b/sql-statements/sql-statement-restore.md
@@ -1,7 +1,6 @@
---
title: RESTORE | TiDB SQL Statement Reference
summary: An overview of the usage of RESTORE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-restore/']
---
# RESTORE
diff --git a/sql-statements/sql-statement-revoke-privileges.md b/sql-statements/sql-statement-revoke-privileges.md
index 4bd176a5aad42..ab59516a393a6 100644
--- a/sql-statements/sql-statement-revoke-privileges.md
+++ b/sql-statements/sql-statement-revoke-privileges.md
@@ -1,7 +1,6 @@
---
title: REVOKE | TiDB SQL Statement Reference
summary: An overview of the usage of REVOKE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-revoke-privileges/','/docs/dev/reference/sql/statements/revoke-privileges/']
---
# `REVOKE `
diff --git a/sql-statements/sql-statement-rollback.md b/sql-statements/sql-statement-rollback.md
index 642ec1f6b14c2..be985d5d4b829 100644
--- a/sql-statements/sql-statement-rollback.md
+++ b/sql-statements/sql-statement-rollback.md
@@ -1,7 +1,6 @@
---
title: ROLLBACK | TiDB SQL Statement Reference
summary: An overview of the usage of ROLLBACK for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-rollback/','/docs/dev/reference/sql/statements/rollback/']
---
# ROLLBACK
diff --git a/sql-statements/sql-statement-select.md b/sql-statements/sql-statement-select.md
index 40a387400fe77..37492d3c4330b 100644
--- a/sql-statements/sql-statement-select.md
+++ b/sql-statements/sql-statement-select.md
@@ -1,7 +1,6 @@
---
title: SELECT | TiDB SQL Statement Reference
summary: An overview of the usage of SELECT for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-select/','/docs/dev/reference/sql/statements/select/']
---
# SELECT
diff --git a/sql-statements/sql-statement-set-names.md b/sql-statements/sql-statement-set-names.md
index b453681c4e990..0dc431558ce69 100644
--- a/sql-statements/sql-statement-set-names.md
+++ b/sql-statements/sql-statement-set-names.md
@@ -1,7 +1,6 @@
---
title: SET [NAMES|CHARACTER SET] | TiDB SQL Statement Reference
summary: An overview of the usage of SET [NAMES|CHARACTER SET] for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-set-names/','/docs/dev/reference/sql/statements/set-names/']
---
# SET [NAMES|CHARACTER SET]
diff --git a/sql-statements/sql-statement-set-password.md b/sql-statements/sql-statement-set-password.md
index 54762391515d4..c3de4a9431bd9 100644
--- a/sql-statements/sql-statement-set-password.md
+++ b/sql-statements/sql-statement-set-password.md
@@ -1,7 +1,6 @@
---
title: SET PASSWORD | TiDB SQL Statement Reference
summary: An overview of the usage of SET PASSWORD for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-set-password/','/docs/dev/reference/sql/statements/set-password/']
---
# SET PASSWORD
diff --git a/sql-statements/sql-statement-set-role.md b/sql-statements/sql-statement-set-role.md
index 0711182781ccd..6d7c230f39c39 100644
--- a/sql-statements/sql-statement-set-role.md
+++ b/sql-statements/sql-statement-set-role.md
@@ -1,7 +1,6 @@
---
title: SET ROLE | TiDB SQL Statement Reference
summary: An overview of the usage of SET ROLE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-set-role/']
---
# SET ROLE
diff --git a/sql-statements/sql-statement-set-transaction.md b/sql-statements/sql-statement-set-transaction.md
index b01acd98fe029..e3801abfb0fac 100644
--- a/sql-statements/sql-statement-set-transaction.md
+++ b/sql-statements/sql-statement-set-transaction.md
@@ -1,7 +1,6 @@
---
title: SET TRANSACTION | TiDB SQL Statement Reference
summary: An overview of the usage of SET TRANSACTION for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-set-transaction/','/docs/dev/reference/sql/statements/set-transaction/']
---
# SET TRANSACTION
diff --git a/sql-statements/sql-statement-set-variable.md b/sql-statements/sql-statement-set-variable.md
index 6fb9326754b5d..f45739db6ffc5 100644
--- a/sql-statements/sql-statement-set-variable.md
+++ b/sql-statements/sql-statement-set-variable.md
@@ -1,7 +1,6 @@
---
title: SET [GLOBAL|SESSION] | TiDB SQL Statement Reference
summary: An overview of the usage of SET [GLOBAL|SESSION] for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-set-variable/','/docs/dev/reference/sql/statements/set-variable/']
---
# `SET [GLOBAL|SESSION] `
diff --git a/sql-statements/sql-statement-show-analyze-status.md b/sql-statements/sql-statement-show-analyze-status.md
index 4d31e91e7a8ad..f175f668b2b41 100644
--- a/sql-statements/sql-statement-show-analyze-status.md
+++ b/sql-statements/sql-statement-show-analyze-status.md
@@ -1,7 +1,6 @@
---
title: SHOW ANALYZE STATUS
summary: An overview of the usage of SHOW ANALYZE STATUS for the TiDB database。
-aliases: ['/docs/dev/sql-statements/sql-statement-show-analyze-status/']
---
# SHOW ANALYZE STATUS
diff --git a/sql-statements/sql-statement-show-backups.md b/sql-statements/sql-statement-show-backups.md
index 0dba2fdee54b8..bd28ecce60fbc 100644
--- a/sql-statements/sql-statement-show-backups.md
+++ b/sql-statements/sql-statement-show-backups.md
@@ -1,7 +1,6 @@
---
title: SHOW [BACKUPS|RESTORES] | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW [BACKUPS|RESTORES] for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-backups/']
---
# SHOW [BACKUPS|RESTORES]
diff --git a/sql-statements/sql-statement-show-bindings.md b/sql-statements/sql-statement-show-bindings.md
index c64d53e5cf0a7..6cda3865a721e 100644
--- a/sql-statements/sql-statement-show-bindings.md
+++ b/sql-statements/sql-statement-show-bindings.md
@@ -1,7 +1,6 @@
---
title: SHOW [GLOBAL|SESSION] BINDINGS
summary: Use of SHOW BINDINGS binding in TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-bindings/']
---
# SHOW [GLOBAL|SESSION] BINDINGS
diff --git a/sql-statements/sql-statement-show-builtins.md b/sql-statements/sql-statement-show-builtins.md
index 75e3c242101c1..410f88ce2edb1 100644
--- a/sql-statements/sql-statement-show-builtins.md
+++ b/sql-statements/sql-statement-show-builtins.md
@@ -1,7 +1,6 @@
---
title: SHOW BUILTINS
summary: The usage of SHOW BUILTINS in TiDB.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-builtins/']
---
# SHOW BUILTINS
diff --git a/sql-statements/sql-statement-show-character-set.md b/sql-statements/sql-statement-show-character-set.md
index 4a5098cc7f860..3fca77d3b0952 100644
--- a/sql-statements/sql-statement-show-character-set.md
+++ b/sql-statements/sql-statement-show-character-set.md
@@ -1,7 +1,6 @@
---
title: SHOW CHARACTER SET | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW CHARACTER SET for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-character-set/','/docs/dev/reference/sql/statements/show-character-set/']
---
# SHOW CHARACTER SET
diff --git a/sql-statements/sql-statement-show-collation.md b/sql-statements/sql-statement-show-collation.md
index bc25f49fdf038..2aa42eeccff8c 100644
--- a/sql-statements/sql-statement-show-collation.md
+++ b/sql-statements/sql-statement-show-collation.md
@@ -1,7 +1,6 @@
---
title: SHOW COLLATION | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW COLLATION for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-collation/','/docs/dev/reference/sql/statements/show-collation/']
---
# SHOW COLLATION
diff --git a/sql-statements/sql-statement-show-columns-from.md b/sql-statements/sql-statement-show-columns-from.md
index f94a90618f9f8..c80f0edf35f23 100644
--- a/sql-statements/sql-statement-show-columns-from.md
+++ b/sql-statements/sql-statement-show-columns-from.md
@@ -1,7 +1,6 @@
---
title: SHOW [FULL] COLUMNS FROM | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW [FULL] COLUMNS FROM for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-columns-from/','/docs/dev/reference/sql/statements/show-columns-from/']
---
# SHOW [FULL] COLUMNS FROM
diff --git a/sql-statements/sql-statement-show-config.md b/sql-statements/sql-statement-show-config.md
index 71adf0b3351c1..549653f181976 100644
--- a/sql-statements/sql-statement-show-config.md
+++ b/sql-statements/sql-statement-show-config.md
@@ -1,7 +1,6 @@
---
title: SHOW CONFIG
summary: Overview of the use of SHOW CONFIG in the TiDB database
-aliases: ['/docs/dev/sql-statements/sql-statement-show-config/']
---
# SHOW CONFIG
diff --git a/sql-statements/sql-statement-show-create-sequence.md b/sql-statements/sql-statement-show-create-sequence.md
index b8b9b5f69007d..ac5004146a6c8 100644
--- a/sql-statements/sql-statement-show-create-sequence.md
+++ b/sql-statements/sql-statement-show-create-sequence.md
@@ -1,7 +1,6 @@
---
title: SHOW CREATE SEQUENCE
summary: An overview of the usage of SHOW CREATE SEQUENCE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-create-sequence/','/docs/dev/reference/sql/statements/show-create-sequence/']
---
# SHOW CREATE SEQUENCE
diff --git a/sql-statements/sql-statement-show-create-table.md b/sql-statements/sql-statement-show-create-table.md
index 27f404c856e30..88911baf0231a 100644
--- a/sql-statements/sql-statement-show-create-table.md
+++ b/sql-statements/sql-statement-show-create-table.md
@@ -1,7 +1,6 @@
---
title: SHOW CREATE TABLE | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW CREATE TABLE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-create-table/','/docs/dev/reference/sql/statements/show-create-table/']
---
# SHOW CREATE TABLE
diff --git a/sql-statements/sql-statement-show-create-user.md b/sql-statements/sql-statement-show-create-user.md
index aa42295cf139b..fb8170e6cd807 100644
--- a/sql-statements/sql-statement-show-create-user.md
+++ b/sql-statements/sql-statement-show-create-user.md
@@ -1,7 +1,6 @@
---
title: SHOW CREATE USER | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW CREATE USER for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-create-user/','/docs/dev/reference/sql/statements/show-create-user/']
---
# SHOW CREATE USER
diff --git a/sql-statements/sql-statement-show-databases.md b/sql-statements/sql-statement-show-databases.md
index 0760cef967797..0ed1b7b4650c4 100644
--- a/sql-statements/sql-statement-show-databases.md
+++ b/sql-statements/sql-statement-show-databases.md
@@ -1,7 +1,6 @@
---
title: SHOW DATABASES | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW DATABASES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-databases/','/docs/dev/reference/sql/statements/show-databases/']
---
# SHOW DATABASES
diff --git a/sql-statements/sql-statement-show-drainer-status.md b/sql-statements/sql-statement-show-drainer-status.md
index f52008f933136..3bc3fede3d222 100644
--- a/sql-statements/sql-statement-show-drainer-status.md
+++ b/sql-statements/sql-statement-show-drainer-status.md
@@ -1,7 +1,6 @@
---
title: SHOW DRAINER STATUS
summary: An overview of the usage of SHOW DRAINER STATUS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-drainer-status/']
---
# SHOW DRAINER STATUS
diff --git a/sql-statements/sql-statement-show-engines.md b/sql-statements/sql-statement-show-engines.md
index c8cedb1dd84c3..066df262dcf8b 100644
--- a/sql-statements/sql-statement-show-engines.md
+++ b/sql-statements/sql-statement-show-engines.md
@@ -1,7 +1,6 @@
---
title: SHOW ENGINES | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW ENGINES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-engines/','/docs/dev/reference/sql/statements/show-engines/']
---
# SHOW ENGINES
diff --git a/sql-statements/sql-statement-show-errors.md b/sql-statements/sql-statement-show-errors.md
index 280066ac98d9e..2a166c45b303d 100644
--- a/sql-statements/sql-statement-show-errors.md
+++ b/sql-statements/sql-statement-show-errors.md
@@ -1,7 +1,6 @@
---
title: SHOW ERRORS | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW ERRORS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-errors/','/docs/dev/reference/sql/statements/show-errors/']
---
# SHOW ERRORS
diff --git a/sql-statements/sql-statement-show-fields-from.md b/sql-statements/sql-statement-show-fields-from.md
index 657e8bdf1aa89..85527ed6b3f90 100644
--- a/sql-statements/sql-statement-show-fields-from.md
+++ b/sql-statements/sql-statement-show-fields-from.md
@@ -1,7 +1,6 @@
---
title: SHOW [FULL] FIELDS FROM | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW [FULL] FIELDS FROM for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-fields-from/','/docs/dev/reference/sql/statements/show-fields-from/']
---
# SHOW [FULL] FIELDS FROM
diff --git a/sql-statements/sql-statement-show-grants.md b/sql-statements/sql-statement-show-grants.md
index 0821858083b52..2ae854c31f7de 100644
--- a/sql-statements/sql-statement-show-grants.md
+++ b/sql-statements/sql-statement-show-grants.md
@@ -1,7 +1,6 @@
---
title: SHOW GRANTS | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW GRANTS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-grants/','/docs/dev/reference/sql/statements/show-grants/']
---
# SHOW GRANTS
diff --git a/sql-statements/sql-statement-show-histograms.md b/sql-statements/sql-statement-show-histograms.md
index ee3ee952f6692..6779a62423ab9 100644
--- a/sql-statements/sql-statement-show-histograms.md
+++ b/sql-statements/sql-statement-show-histograms.md
@@ -1,7 +1,6 @@
---
title: SHOW STATS_HISTOGRAMS
summary: An overview of the usage of SHOW HISTOGRAMS for TiDB database。
-aliases: ['/docs/dev/sql-statements/sql-statement-show-histograms/']
---
# SHOW STATS_HISTOGRAMS
diff --git a/sql-statements/sql-statement-show-index.md b/sql-statements/sql-statement-show-index.md
index b4956b1a722ea..57aa97e48ea5c 100644
--- a/sql-statements/sql-statement-show-index.md
+++ b/sql-statements/sql-statement-show-index.md
@@ -1,7 +1,6 @@
---
title: SHOW INDEX [FROM|IN] | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW INDEX [FROM|IN] for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-index/','/docs/dev/reference/sql/statements/show-index/']
---
# SHOW INDEX [FROM|IN]
diff --git a/sql-statements/sql-statement-show-indexes.md b/sql-statements/sql-statement-show-indexes.md
index 1e90f72c41757..5c326e0ef6bb0 100644
--- a/sql-statements/sql-statement-show-indexes.md
+++ b/sql-statements/sql-statement-show-indexes.md
@@ -1,7 +1,6 @@
---
title: SHOW INDEXES [FROM|IN] | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW INDEXES [FROM|IN] for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-indexes/','/docs/dev/reference/sql/statements/show-indexes/']
---
# SHOW INDEXES [FROM|IN]
diff --git a/sql-statements/sql-statement-show-keys.md b/sql-statements/sql-statement-show-keys.md
index 6a6bf856acffe..661c4e9a8eec7 100644
--- a/sql-statements/sql-statement-show-keys.md
+++ b/sql-statements/sql-statement-show-keys.md
@@ -1,7 +1,6 @@
---
title: SHOW KEYS [FROM|IN] | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW KEYS [FROM|IN] for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-keys/','/docs/dev/reference/sql/statements/show-keys/']
---
# SHOW KEYS [FROM|IN]
diff --git a/sql-statements/sql-statement-show-master-status.md b/sql-statements/sql-statement-show-master-status.md
index 038f76a446582..7cde53995520d 100644
--- a/sql-statements/sql-statement-show-master-status.md
+++ b/sql-statements/sql-statement-show-master-status.md
@@ -1,7 +1,6 @@
---
title: SHOW MASTER STATUS
summary: An overview of the usage of SHOW MASTER STATUS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-master-status/']
---
# SHOW MASTER STATUS
diff --git a/sql-statements/sql-statement-show-plugins.md b/sql-statements/sql-statement-show-plugins.md
index 55685ff20ba72..fc54e9791c73c 100644
--- a/sql-statements/sql-statement-show-plugins.md
+++ b/sql-statements/sql-statement-show-plugins.md
@@ -1,7 +1,6 @@
---
title: SHOW PLUGINS
summary: An overview of the usage of SHOW PLUGINS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-plugins/']
---
# SHOW PLUGINS
diff --git a/sql-statements/sql-statement-show-privileges.md b/sql-statements/sql-statement-show-privileges.md
index 83abfc6d52c3c..c5b4999ac6396 100644
--- a/sql-statements/sql-statement-show-privileges.md
+++ b/sql-statements/sql-statement-show-privileges.md
@@ -1,7 +1,6 @@
---
title: SHOW PRIVILEGES | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW PRIVILEGES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-privileges/','/docs/dev/reference/sql/statements/show-privileges/']
---
# SHOW PRIVILEGES
diff --git a/sql-statements/sql-statement-show-processlist.md b/sql-statements/sql-statement-show-processlist.md
index 8255e8df655c7..5d78df57aa346 100644
--- a/sql-statements/sql-statement-show-processlist.md
+++ b/sql-statements/sql-statement-show-processlist.md
@@ -1,7 +1,6 @@
---
title: SHOW [FULL] PROCESSLIST | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW [FULL] PROCESSLIST for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-processlist/','/docs/dev/reference/sql/statements/show-processlist/']
---
# SHOW [FULL] PROCESSLIST
diff --git a/sql-statements/sql-statement-show-profiles.md b/sql-statements/sql-statement-show-profiles.md
index b25e5abaedbcf..d91ce2c28ca2d 100644
--- a/sql-statements/sql-statement-show-profiles.md
+++ b/sql-statements/sql-statement-show-profiles.md
@@ -1,7 +1,6 @@
---
title: SHOW PROFILES
summary: An overview of the usage of SHOW PROFILES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-profiles/']
---
# SHOW PROFILES
diff --git a/sql-statements/sql-statement-show-pump-status.md b/sql-statements/sql-statement-show-pump-status.md
index e522695d55cf0..f73035050c1de 100644
--- a/sql-statements/sql-statement-show-pump-status.md
+++ b/sql-statements/sql-statement-show-pump-status.md
@@ -1,7 +1,6 @@
---
title: SHOW PUMP STATUS
summary: An overview of the usage of SHOW PUMP STATUS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-pump-status/']
---
# SHOW PUMP STATUS
diff --git a/sql-statements/sql-statement-show-schemas.md b/sql-statements/sql-statement-show-schemas.md
index 5daedb7a5f670..58ec99ad3a3d2 100644
--- a/sql-statements/sql-statement-show-schemas.md
+++ b/sql-statements/sql-statement-show-schemas.md
@@ -1,7 +1,6 @@
---
title: SHOW SCHEMAS | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW SCHEMAS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-schemas/','/docs/dev/reference/sql/statements/show-schemas/']
---
# SHOW SCHEMAS
diff --git a/sql-statements/sql-statement-show-stats-meta.md b/sql-statements/sql-statement-show-stats-meta.md
index b4e337a308b91..c75648a9cfce3 100644
--- a/sql-statements/sql-statement-show-stats-meta.md
+++ b/sql-statements/sql-statement-show-stats-meta.md
@@ -1,7 +1,6 @@
---
title: SHOW STATS_META
summary: An overview of the usage of SHOW STATS_META for TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-stats-meta/']
---
# SHOW STATS_META
diff --git a/sql-statements/sql-statement-show-status.md b/sql-statements/sql-statement-show-status.md
index 21ea4c7dc538e..a712396afc384 100644
--- a/sql-statements/sql-statement-show-status.md
+++ b/sql-statements/sql-statement-show-status.md
@@ -1,7 +1,6 @@
---
title: SHOW [GLOBAL|SESSION] STATUS | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW [GLOBAL|SESSION] STATUS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-status/','/docs/dev/reference/sql/statements/show-status/']
---
# SHOW [GLOBAL|SESSION] STATUS
diff --git a/sql-statements/sql-statement-show-table-next-rowid.md b/sql-statements/sql-statement-show-table-next-rowid.md
index 98171492513f7..8dfa77d10e9c2 100644
--- a/sql-statements/sql-statement-show-table-next-rowid.md
+++ b/sql-statements/sql-statement-show-table-next-rowid.md
@@ -1,7 +1,6 @@
---
title: SHOW TABLE NEXT_ROW_ID
summary: Learn the usage of `SHOW TABLE NEXT_ROW_ID` in TiDB.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-table-next-rowid/']
---
# SHOW TABLE NEXT_ROW_ID
diff --git a/sql-statements/sql-statement-show-table-regions.md b/sql-statements/sql-statement-show-table-regions.md
index 02482a0eecafb..c887636228d6d 100644
--- a/sql-statements/sql-statement-show-table-regions.md
+++ b/sql-statements/sql-statement-show-table-regions.md
@@ -1,7 +1,6 @@
---
title: SHOW TABLE REGIONS
summary: Learn how to use SHOW TABLE REGIONS in TiDB.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-table-regions/','/docs/dev/reference/sql/statements/show-table-regions/']
---
# SHOW TABLE REGIONS
diff --git a/sql-statements/sql-statement-show-table-status.md b/sql-statements/sql-statement-show-table-status.md
index e663ed7907ff9..3a8adbe493c27 100644
--- a/sql-statements/sql-statement-show-table-status.md
+++ b/sql-statements/sql-statement-show-table-status.md
@@ -1,7 +1,6 @@
---
title: SHOW TABLE STATUS | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW TABLE STATUS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-table-status/','/docs/dev/reference/sql/statements/show-table-status/']
---
# SHOW TABLE STATUS
diff --git a/sql-statements/sql-statement-show-tables.md b/sql-statements/sql-statement-show-tables.md
index 97cf3e6ccfeb2..813e57bed1a76 100644
--- a/sql-statements/sql-statement-show-tables.md
+++ b/sql-statements/sql-statement-show-tables.md
@@ -1,7 +1,6 @@
---
title: SHOW [FULL] TABLES | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW [FULL] TABLES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-tables/','/docs/dev/reference/sql/statements/show-tables/']
---
# SHOW [FULL] TABLES
diff --git a/sql-statements/sql-statement-show-variables.md b/sql-statements/sql-statement-show-variables.md
index df3237ed7bb9e..8aeab8afe8ebb 100644
--- a/sql-statements/sql-statement-show-variables.md
+++ b/sql-statements/sql-statement-show-variables.md
@@ -1,7 +1,6 @@
---
title: SHOW [GLOBAL|SESSION] VARIABLES | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW [GLOBAL|SESSION] VARIABLES for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-variables/','/docs/dev/reference/sql/statements/show-variables/']
---
# SHOW [GLOBAL|SESSION] VARIABLES
diff --git a/sql-statements/sql-statement-show-warnings.md b/sql-statements/sql-statement-show-warnings.md
index 45a317d37c656..5c4b38ee93f72 100644
--- a/sql-statements/sql-statement-show-warnings.md
+++ b/sql-statements/sql-statement-show-warnings.md
@@ -1,7 +1,6 @@
---
title: SHOW WARNINGS | TiDB SQL Statement Reference
summary: An overview of the usage of SHOW WARNINGS for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-show-warnings/','/docs/dev/reference/sql/statements/show-warnings/']
---
# SHOW WARNINGS
diff --git a/sql-statements/sql-statement-shutdown.md b/sql-statements/sql-statement-shutdown.md
index 043079e3a5e83..86633cfe2880c 100644
--- a/sql-statements/sql-statement-shutdown.md
+++ b/sql-statements/sql-statement-shutdown.md
@@ -1,7 +1,6 @@
---
title: SHUTDOWN
summary: An overview of the usage of SHUTDOWN for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-shutdown/']
---
# SHUTDOWN
diff --git a/sql-statements/sql-statement-split-region.md b/sql-statements/sql-statement-split-region.md
index 28accb9dfa76f..861b6de538a70 100644
--- a/sql-statements/sql-statement-split-region.md
+++ b/sql-statements/sql-statement-split-region.md
@@ -1,7 +1,6 @@
---
title: Split Region
summary: An overview of the usage of Split Region for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-split-region/','/docs/dev/reference/sql/statements/split-region/']
---
# Split Region
diff --git a/sql-statements/sql-statement-start-transaction.md b/sql-statements/sql-statement-start-transaction.md
index 69eaad3afc241..b1d2260e2d1ed 100644
--- a/sql-statements/sql-statement-start-transaction.md
+++ b/sql-statements/sql-statement-start-transaction.md
@@ -1,7 +1,6 @@
---
title: START TRANSACTION | TiDB SQL Statement Reference
summary: An overview of the usage of START TRANSACTION for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-start-transaction/','/docs/dev/reference/sql/statements/start-transaction/']
---
# START TRANSACTION
diff --git a/sql-statements/sql-statement-trace.md b/sql-statements/sql-statement-trace.md
index 07c87bfde5afd..4ea0078cd79bc 100644
--- a/sql-statements/sql-statement-trace.md
+++ b/sql-statements/sql-statement-trace.md
@@ -1,7 +1,6 @@
---
title: TRACE | TiDB SQL Statement Reference
summary: An overview of the usage of TRACE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-trace/','/docs/dev/reference/sql/statements/trace/']
---
# TRACE
diff --git a/sql-statements/sql-statement-truncate.md b/sql-statements/sql-statement-truncate.md
index e293ad391723a..b16da866c7e6b 100644
--- a/sql-statements/sql-statement-truncate.md
+++ b/sql-statements/sql-statement-truncate.md
@@ -1,7 +1,6 @@
---
title: TRUNCATE | TiDB SQL Statement Reference
summary: An overview of the usage of TRUNCATE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-truncate/','/docs/dev/reference/sql/statements/truncate/']
---
# TRUNCATE
diff --git a/sql-statements/sql-statement-update.md b/sql-statements/sql-statement-update.md
index a601ceefa4633..a675cfe327305 100644
--- a/sql-statements/sql-statement-update.md
+++ b/sql-statements/sql-statement-update.md
@@ -1,7 +1,6 @@
---
title: UPDATE | TiDB SQL Statement Reference
summary: An overview of the usage of UPDATE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-update/','/docs/dev/reference/sql/statements/update/']
---
# UPDATE
diff --git a/sql-statements/sql-statement-use.md b/sql-statements/sql-statement-use.md
index 6a6507cc522ad..01456128209e7 100644
--- a/sql-statements/sql-statement-use.md
+++ b/sql-statements/sql-statement-use.md
@@ -1,7 +1,6 @@
---
title: USE | TiDB SQL Statement Reference
summary: An overview of the usage of USE for the TiDB database.
-aliases: ['/docs/dev/sql-statements/sql-statement-use/','/docs/dev/reference/sql/statements/use/']
---
# USE
diff --git a/statement-summary-tables.md b/statement-summary-tables.md
index a0ac5c7e3addf..167c1c79ebb8c 100644
--- a/statement-summary-tables.md
+++ b/statement-summary-tables.md
@@ -1,7 +1,6 @@
---
title: Statement Summary Tables
summary: Learn about Statement Summary Table in TiDB.
-aliases: ['/docs/dev/statement-summary-tables/','/docs/dev/reference/performance/statement-summary/']
---
# Statement Summary Tables
diff --git a/statistics.md b/statistics.md
index d2516fbf38719..653896c456b9f 100644
--- a/statistics.md
+++ b/statistics.md
@@ -1,7 +1,6 @@
---
title: Introduction to Statistics
summary: Learn how the statistics collect table-level and column-level information.
-aliases: ['/docs/dev/statistics/','/docs/dev/reference/performance/statistics/']
---
# Introduction to Statistics
diff --git a/support.md b/support.md
index d2bd71a719895..0318d15484cf5 100644
--- a/support.md
+++ b/support.md
@@ -1,7 +1,6 @@
---
title: Support Resources
summary: Find support resources for your TiDB installation.
-aliases: ['/docs/dev/support/','/docs/dev/support-resources/']
---
# Support Resources
diff --git a/sync-diff-inspector/route-diff.md b/sync-diff-inspector/route-diff.md
index 4051434ca9612..b1b5e8fa1bcce 100644
--- a/sync-diff-inspector/route-diff.md
+++ b/sync-diff-inspector/route-diff.md
@@ -1,7 +1,6 @@
---
title: Data Check for Tables with Different Schema or Table Names
summary: Learn the data check for different database names or table names.
-aliases: ['/docs/dev/sync-diff-inspector/route-diff/','/docs/dev/reference/tools/sync-diff-inspector/route-diff/']
---
# Data Check for Tables with Different Schema or Table Names
diff --git a/sync-diff-inspector/shard-diff.md b/sync-diff-inspector/shard-diff.md
index e6b992980796d..8396aa49bbb2c 100644
--- a/sync-diff-inspector/shard-diff.md
+++ b/sync-diff-inspector/shard-diff.md
@@ -1,7 +1,6 @@
---
title: Data Check in the Sharding Scenario
summary: Learn the data check in the sharding scenario.
-aliases: ['/docs/dev/sync-diff-inspector/shard-diff/','/docs/dev/reference/tools/sync-diff-inspector/shard-diff/']
---
# Data Check in the Sharding Scenario
diff --git a/sync-diff-inspector/sync-diff-inspector-overview.md b/sync-diff-inspector/sync-diff-inspector-overview.md
index a2674c04f05e0..da4d9ad780c84 100644
--- a/sync-diff-inspector/sync-diff-inspector-overview.md
+++ b/sync-diff-inspector/sync-diff-inspector-overview.md
@@ -1,7 +1,6 @@
---
title: sync-diff-inspector User Guide
summary: Use sync-diff-inspector to compare data and repair inconsistent data.
-aliases: ['/docs/dev/sync-diff-inspector/sync-diff-inspector-overview/','/docs/dev/reference/tools/sync-diff-inspector/overview/']
---
# sync-diff-inspector User Guide
diff --git a/sync-diff-inspector/upstream-downstream-diff.md b/sync-diff-inspector/upstream-downstream-diff.md
index 0171691faf5d7..417129be6aad6 100644
--- a/sync-diff-inspector/upstream-downstream-diff.md
+++ b/sync-diff-inspector/upstream-downstream-diff.md
@@ -1,7 +1,6 @@
---
title: Data Check for TiDB Upstream and Downstream Clusters
summary: Learn how to check data for TiDB upstream and downstream clusters.
-aliases: ['/docs/dev/sync-diff-inspector/upstream-downstream-diff/','/docs/dev/reference/tools/sync-diff-inspector/tidb-diff/']
---
# Data Check for TiDB Upstream and Downstream Clusters
diff --git a/system-variables.md b/system-variables.md
index 451013d360ecd..98c2880c639c4 100644
--- a/system-variables.md
+++ b/system-variables.md
@@ -1,7 +1,6 @@
---
title: System Variables
summary: Use system variables to optimize performance or alter running behavior.
-aliases: ['/tidb/dev/tidb-specific-system-variables','/docs/dev/system-variables/','/docs/dev/reference/configuration/tidb-server/mysql-variables/', '/docs/dev/tidb-specific-system-variables/','/docs/dev/reference/configuration/tidb-server/tidb-specific-variables/']
---
# System Variables
diff --git a/table-filter.md b/table-filter.md
index dd000906a74d1..ca1cfd8c8be30 100644
--- a/table-filter.md
+++ b/table-filter.md
@@ -1,7 +1,6 @@
---
title: Table Filter
summary: Usage of table filter feature in TiDB tools.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-table-filter/','/docs/dev/reference/tools/tidb-lightning/table-filter/','/tidb/dev/tidb-lightning-table-filter/']
---
# Table Filter
diff --git a/technical-writing-project-ideas.md b/technical-writing-project-ideas.md
index 46c6cfc22ef33..013678f2eb4e0 100644
--- a/technical-writing-project-ideas.md
+++ b/technical-writing-project-ideas.md
@@ -1,7 +1,6 @@
---
title: TiDB Technical Writing Project Ideas
summary: Learn about the technical writing project ideas of TiDB for Google Season of Docs 2020.
-aliases: ['/docs/dev/technical-writing-project-ideas/']
---
# TiDB Technical Writing Project Ideas
diff --git a/telemetry.md b/telemetry.md
index 727412ab49a32..800dad1987051 100644
--- a/telemetry.md
+++ b/telemetry.md
@@ -1,7 +1,6 @@
---
title: Telemetry
summary: Learn the telemetry feature, how to disable the feature and view its status.
-aliases: ['/docs/dev/telemetry/']
---
# Telemetry
diff --git a/test-deployment-using-docker.md b/test-deployment-using-docker.md
index 8e467c04d6044..56ec2f04d4e6f 100644
--- a/test-deployment-using-docker.md
+++ b/test-deployment-using-docker.md
@@ -1,7 +1,6 @@
---
title: Deploy TiDB Using Docker
summary: Use Docker to manually deploy a multi-node TiDB cluster on multiple machines.
-aliases: ['/docs/dev/test-deployment-using-docker/','/docs/dev/how-to/deploy/orchestrated/docker/']
---
# Deploy TiDB Using Docker
diff --git a/three-data-centers-in-two-cities-deployment.md b/three-data-centers-in-two-cities-deployment.md
index 620496c7491b9..e71633745963f 100644
--- a/three-data-centers-in-two-cities-deployment.md
+++ b/three-data-centers-in-two-cities-deployment.md
@@ -1,7 +1,6 @@
---
title: Three Data Centers in Two Cities Deployment
summary: Learn the deployment solution to three data centers in two cities.
-aliases: ['/docs/dev/three-data-centers-in-two-cities-deployment/']
---
# Three Data Centers in Two Cities Deployment
diff --git a/ticdc-deployment-topology.md b/ticdc-deployment-topology.md
index 761cbad6a4681..a07591ba4efaf 100644
--- a/ticdc-deployment-topology.md
+++ b/ticdc-deployment-topology.md
@@ -1,7 +1,6 @@
---
title: TiCDC Deployment Topology
summary: Learn the deployment topology of TiCDC based on the minimal TiDB topology.
-aliases: ['/docs/dev/ticdc-deployment-topology/']
---
# TiCDC Deployment Topology
diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md
index b244e7b26b981..7aa05126082dc 100644
--- a/ticdc/manage-ticdc.md
+++ b/ticdc/manage-ticdc.md
@@ -1,7 +1,6 @@
---
title: Manage TiCDC Cluster and Replication Tasks
summary: Learn how to manage a TiCDC cluster and replication tasks.
-aliases: ['/docs/dev/ticdc/manage-ticdc/','/docs/dev/reference/tools/ticdc/manage/']
---
# Manage TiCDC Cluster and Replication Tasks
diff --git a/ticdc/ticdc-open-protocol.md b/ticdc/ticdc-open-protocol.md
index 8913ebd706a9f..ecfc0cf40d7ab 100644
--- a/ticdc/ticdc-open-protocol.md
+++ b/ticdc/ticdc-open-protocol.md
@@ -1,6 +1,5 @@
---
title: TiCDC Open Protocol
-aliases: ['/docs/dev/ticdc/ticdc-open-protocol/','/docs/dev/reference/tools/ticdc/open-protocol/','/docs/dev/ticdc/column-ddl-type-codes/']
---
# TiCDC Open Protocol
diff --git a/ticdc/ticdc-overview.md b/ticdc/ticdc-overview.md
index da926141a9341..d3f0b23e86088 100644
--- a/ticdc/ticdc-overview.md
+++ b/ticdc/ticdc-overview.md
@@ -1,7 +1,6 @@
---
title: TiCDC Overview
summary: Learn what TiCDC is, what features TiCDC provides, etc.
-aliases: ['/docs/dev/ticdc/ticdc-overview/','/docs/dev/reference/tools/ticdc/overview/']
---
# TiCDC Overview
diff --git a/ticdc/troubleshoot-ticdc.md b/ticdc/troubleshoot-ticdc.md
index e230d253c1484..93b262ae2c14d 100644
--- a/ticdc/troubleshoot-ticdc.md
+++ b/ticdc/troubleshoot-ticdc.md
@@ -1,7 +1,6 @@
---
title: Troubleshoot TiCDC
summary: Learn how to troubleshoot issues you might encounter when you use TiCDC.
-aliases: ['/docs/dev/ticdc/troubleshoot-ticdc/']
---
# Troubleshoot TiCDC
diff --git a/tidb-architecture.md b/tidb-architecture.md
index d2a98ef684d6e..05c553a230e78 100644
--- a/tidb-architecture.md
+++ b/tidb-architecture.md
@@ -1,7 +1,6 @@
---
title: TiDB Architecture
summary: The key architecture components of the TiDB platform
-aliases: ['/docs/dev/architecture/','/tidb/dev/architecture']
---
# TiDB Architecture
diff --git a/tidb-binlog-deployment-topology.md b/tidb-binlog-deployment-topology.md
index 3f991426c7b2b..e432fa7c1d501 100644
--- a/tidb-binlog-deployment-topology.md
+++ b/tidb-binlog-deployment-topology.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Deployment Topology
summary: Learn the deployment topology of TiDB Binlog based on the minimal TiDB topology.
-aliases: ['/docs/dev/tidb-binlog-deployment-topology/']
---
# TiDB Binlog Deployment Topology
diff --git a/tidb-binlog/bidirectional-replication-between-tidb-clusters.md b/tidb-binlog/bidirectional-replication-between-tidb-clusters.md
index 16b770fd0921d..3db97f64adc17 100644
--- a/tidb-binlog/bidirectional-replication-between-tidb-clusters.md
+++ b/tidb-binlog/bidirectional-replication-between-tidb-clusters.md
@@ -1,7 +1,6 @@
---
title: Bidirectional Replication Between TiDB Clusters
summary: Learn how to perform the bidirectional replication between TiDB clusters.
-aliases: ['/docs/dev/tidb-binlog/bidirectional-replication-between-tidb-clusters/','/docs/dev/reference/tidb-binlog/bidirectional-replication/']
---
# Bidirectional Replication between TiDB Clusters
diff --git a/tidb-binlog/binlog-consumer-client.md b/tidb-binlog/binlog-consumer-client.md
index b2bf52526b3be..495f36ff45cc0 100644
--- a/tidb-binlog/binlog-consumer-client.md
+++ b/tidb-binlog/binlog-consumer-client.md
@@ -1,7 +1,6 @@
---
title: Binlog Consumer Client User Guide
summary: Use Binlog Consumer Client to consume TiDB secondary binlog data from Kafka and output the data in a specific format.
-aliases: ['/tidb/dev/binlog-slave-client','/docs/dev/tidb-binlog/binlog-slave-client/','/docs/dev/reference/tidb-binlog/binlog-slave-client/','/docs/dev/reference/tools/tidb-binlog/binlog-slave-client/']
---
# Binlog Consumer Client User Guide
diff --git a/tidb-binlog/binlog-control.md b/tidb-binlog/binlog-control.md
index 867ecfa03b13b..d9958242f3331 100644
--- a/tidb-binlog/binlog-control.md
+++ b/tidb-binlog/binlog-control.md
@@ -1,7 +1,6 @@
---
title: binlogctl
summary: Learns how to use `binlogctl`.
-aliases: ['/docs/dev/tidb-binlog/binlog-control/']
---
# binlogctl
diff --git a/tidb-binlog/deploy-tidb-binlog.md b/tidb-binlog/deploy-tidb-binlog.md
index e2d5095c7d58c..9ea71792321b1 100644
--- a/tidb-binlog/deploy-tidb-binlog.md
+++ b/tidb-binlog/deploy-tidb-binlog.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Cluster Deployment
summary: Learn how to deploy TiDB Binlog cluster.
-aliases: ['/docs/dev/tidb-binlog/deploy-tidb-binlog/','/docs/dev/reference/tidb-binlog/deploy/','/docs/dev/how-to/deploy/tidb-binlog/']
---
# TiDB Binlog Cluster Deployment
diff --git a/tidb-binlog/get-started-with-tidb-binlog.md b/tidb-binlog/get-started-with-tidb-binlog.md
index c91ddf21aa600..77fc1327556a5 100644
--- a/tidb-binlog/get-started-with-tidb-binlog.md
+++ b/tidb-binlog/get-started-with-tidb-binlog.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Tutorial
summary: Learn to deploy TiDB Binlog with a simple TiDB cluster.
-aliases: ['/docs/dev/get-started-with-tidb-binlog/','/docs/dev/how-to/get-started/tidb-binlog/']
---
# TiDB Binlog Tutorial
diff --git a/tidb-binlog/handle-tidb-binlog-errors.md b/tidb-binlog/handle-tidb-binlog-errors.md
index 5ba106db49415..b10262abcdd2f 100644
--- a/tidb-binlog/handle-tidb-binlog-errors.md
+++ b/tidb-binlog/handle-tidb-binlog-errors.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Error Handling
summary: Learn how to handle TiDB Binlog errors.
-aliases: ['/docs/dev/tidb-binlog/handle-tidb-binlog-errors/','/docs/dev/reference/tidb-binlog/troubleshoot/error-handling/']
---
# TiDB Binlog Error Handling
diff --git a/tidb-binlog/maintain-tidb-binlog-cluster.md b/tidb-binlog/maintain-tidb-binlog-cluster.md
index 5690e7dcf16eb..bd866dd4d316c 100644
--- a/tidb-binlog/maintain-tidb-binlog-cluster.md
+++ b/tidb-binlog/maintain-tidb-binlog-cluster.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Cluster Operations
summary: Learn how to operate the cluster version of TiDB Binlog.
-aliases: ['/docs/dev/tidb-binlog/maintain-tidb-binlog-cluster/','/docs/dev/reference/tidb-binlog/maintain/','/docs/dev/how-to/maintain/tidb-binlog/','/docs/dev/reference/tools/tidb-binlog/maintain/']
---
# TiDB Binlog Cluster Operations
diff --git a/tidb-binlog/monitor-tidb-binlog-cluster.md b/tidb-binlog/monitor-tidb-binlog-cluster.md
index 0c2525f3c1e01..157f2fe69fc7b 100644
--- a/tidb-binlog/monitor-tidb-binlog-cluster.md
+++ b/tidb-binlog/monitor-tidb-binlog-cluster.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Monitoring
summary: Learn how to monitor the cluster version of TiDB Binlog.
-aliases: ['/docs/dev/tidb-binlog/monitor-tidb-binlog-cluster/','/docs/dev/reference/tidb-binlog/monitor/','/docs/dev/how-to/monitor/tidb-binlog/']
---
# TiDB Binlog Monitoring
diff --git a/tidb-binlog/tidb-binlog-configuration-file.md b/tidb-binlog/tidb-binlog-configuration-file.md
index bdc710c2c4370..e5fbc86cc0677 100644
--- a/tidb-binlog/tidb-binlog-configuration-file.md
+++ b/tidb-binlog/tidb-binlog-configuration-file.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Configuration File
summary: Learn the configuration items of TiDB Binlog.
-aliases: ['/docs/dev/tidb-binlog/tidb-binlog-configuration-file/','/docs/dev/reference/tidb-binlog/config/']
---
# TiDB Binlog Configuration File
diff --git a/tidb-binlog/tidb-binlog-faq.md b/tidb-binlog/tidb-binlog-faq.md
index a8fbdcdb015e0..406a441b84067 100644
--- a/tidb-binlog/tidb-binlog-faq.md
+++ b/tidb-binlog/tidb-binlog-faq.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog FAQ
summary: Learn about the frequently asked questions (FAQs) and answers about TiDB Binlog.
-aliases: ['/docs/dev/tidb-binlog/tidb-binlog-faq/','/docs/dev/reference/tidb-binlog/faq/','/docs/dev/reference/tools/tidb-binlog/faq/']
---
# TiDB Binlog FAQ
diff --git a/tidb-binlog/tidb-binlog-glossary.md b/tidb-binlog/tidb-binlog-glossary.md
index 4c9ae8b8d25e4..2f6351209d111 100644
--- a/tidb-binlog/tidb-binlog-glossary.md
+++ b/tidb-binlog/tidb-binlog-glossary.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Glossary
summary: Learn the terms used in TiDB Binlog.
-aliases: ['/docs/dev/tidb-binlog/tidb-binlog-glossary/','/docs/dev/reference/tidb-binlog/glossary/']
---
# TiDB Binlog Glossary
diff --git a/tidb-binlog/tidb-binlog-overview.md b/tidb-binlog/tidb-binlog-overview.md
index 1818a2bee269a..3384e363c8ed9 100644
--- a/tidb-binlog/tidb-binlog-overview.md
+++ b/tidb-binlog/tidb-binlog-overview.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Overview
summary: Learn overview of the cluster version of TiDB Binlog.
-aliases: ['/docs/dev/tidb-binlog/tidb-binlog-overview/','/docs/dev/reference/tidb-binlog/overview/','/docs/dev/reference/tidb-binlog-overview/','/docs/dev/reference/tools/tidb-binlog/overview/']
---
# TiDB Binlog Cluster Overview
diff --git a/tidb-binlog/tidb-binlog-relay-log.md b/tidb-binlog/tidb-binlog-relay-log.md
index 68229df5b7463..752699b1f9c27 100644
--- a/tidb-binlog/tidb-binlog-relay-log.md
+++ b/tidb-binlog/tidb-binlog-relay-log.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Relay Log
summary: Learn how to use relay log to maintain data consistency in extreme cases.
-aliases: ['/docs/dev/tidb-binlog/tidb-binlog-relay-log/','/docs/dev/reference/tidb-binlog/relay-log/']
---
# TiDB Binlog Relay Log
diff --git a/tidb-binlog/tidb-binlog-reparo.md b/tidb-binlog/tidb-binlog-reparo.md
index 49b26a29f9275..76ba80dd132c9 100644
--- a/tidb-binlog/tidb-binlog-reparo.md
+++ b/tidb-binlog/tidb-binlog-reparo.md
@@ -1,7 +1,6 @@
---
title: Reparo User Guide
summary: Learn to use Reparo.
-aliases: ['/docs/dev/tidb-binlog/tidb-binlog-reparo/','/docs/dev/reference/tidb-binlog/reparo/']
---
# Reparo User Guide
diff --git a/tidb-binlog/troubleshoot-tidb-binlog.md b/tidb-binlog/troubleshoot-tidb-binlog.md
index decd1c675c2c3..b3ab2fce68e8b 100644
--- a/tidb-binlog/troubleshoot-tidb-binlog.md
+++ b/tidb-binlog/troubleshoot-tidb-binlog.md
@@ -1,7 +1,6 @@
---
title: TiDB Binlog Troubleshooting
summary: Learn the troubleshooting process of TiDB Binlog.
-aliases: ['/docs/dev/tidb-binlog/troubleshoot-tidb-binlog/','/docs/dev/reference/tidb-binlog/troubleshoot/binlog/','/docs/dev/how-to/troubleshoot/tidb-binlog/']
---
# TiDB Binlog Troubleshooting
diff --git a/tidb-binlog/upgrade-tidb-binlog.md b/tidb-binlog/upgrade-tidb-binlog.md
index 9e200e85703ee..11677e6413888 100644
--- a/tidb-binlog/upgrade-tidb-binlog.md
+++ b/tidb-binlog/upgrade-tidb-binlog.md
@@ -1,7 +1,6 @@
---
title: Upgrade TiDB Binlog
summary: Learn how to upgrade TiDB Binlog to the latest cluster version.
-aliases: ['/docs/dev/tidb-binlog/upgrade-tidb-binlog/','/docs/dev/reference/tidb-binlog/upgrade/','/docs/dev/how-to/upgrade/tidb-binlog/']
---
# Upgrade TiDB Binlog
diff --git a/tidb-configuration-file.md b/tidb-configuration-file.md
index dda3d8d1e8e9f..48a9b443d261f 100644
--- a/tidb-configuration-file.md
+++ b/tidb-configuration-file.md
@@ -1,7 +1,6 @@
---
title: TiDB Configuration File
summary: Learn the TiDB configuration file options that are not involved in command line options.
-aliases: ['/docs/dev/tidb-configuration-file/','/docs/dev/reference/configuration/tidb-server/configuration-file/']
---
diff --git a/tidb-control.md b/tidb-control.md
index 706f4ff98d025..a7d356789baa5 100644
--- a/tidb-control.md
+++ b/tidb-control.md
@@ -1,7 +1,6 @@
---
title: TiDB Control User Guide
summary: Use TiDB Control to obtain TiDB status information for debugging.
-aliases: ['/docs/dev/tidb-control/','/docs/dev/reference/tools/tidb-control/']
---
# TiDB Control User Guide
diff --git a/tidb-lightning/deploy-tidb-lightning.md b/tidb-lightning/deploy-tidb-lightning.md
index 3c07f0cab7f80..2cdc4e5fe8a77 100644
--- a/tidb-lightning/deploy-tidb-lightning.md
+++ b/tidb-lightning/deploy-tidb-lightning.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Deployment
summary: Deploy TiDB Lightning to quickly import large amounts of new data.
-aliases: ['/docs/dev/tidb-lightning/deploy-tidb-lightning/','/docs/dev/reference/tools/tidb-lightning/deployment/']
---
# TiDB Lightning Deployment
diff --git a/tidb-lightning/migrate-from-csv-using-tidb-lightning.md b/tidb-lightning/migrate-from-csv-using-tidb-lightning.md
index a44feeff3c048..06b1851424ae0 100644
--- a/tidb-lightning/migrate-from-csv-using-tidb-lightning.md
+++ b/tidb-lightning/migrate-from-csv-using-tidb-lightning.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning CSV Support
summary: Learn how to import CSV files via TiDB Lightning.
-aliases: ['/docs/dev/tidb-lightning/migrate-from-csv-using-tidb-lightning/','/docs/dev/reference/tools/tidb-lightning/csv/']
---
# TiDB Lightning CSV Support
diff --git a/tidb-lightning/monitor-tidb-lightning.md b/tidb-lightning/monitor-tidb-lightning.md
index 4df902b9cf27b..2872c2da32cc1 100644
--- a/tidb-lightning/monitor-tidb-lightning.md
+++ b/tidb-lightning/monitor-tidb-lightning.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Monitoring
summary: Learn about the monitor configuration and monitoring metrics of TiDB Lightning.
-aliases: ['/docs/dev/tidb-lightning/monitor-tidb-lightning/','/docs/dev/reference/tools/tidb-lightning/monitor/']
---
# TiDB Lightning Monitoring
diff --git a/tidb-lightning/tidb-lightning-backends.md b/tidb-lightning/tidb-lightning-backends.md
index 55c8a218340e6..9fe767b3175cd 100644
--- a/tidb-lightning/tidb-lightning-backends.md
+++ b/tidb-lightning/tidb-lightning-backends.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Backends
summary: Learn the backends of TiDB Lightning.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-tidb-backend/','/docs/dev/reference/tools/tidb-lightning/tidb-backend/','/tidb/dev/tidb-lightning-tidb-backend','/docs/dev/loader-overview/','/docs/dev/reference/tools/loader/','/docs/dev/load-misuse-handling/','/docs/dev/reference/tools/error-case-handling/load-misuse-handling/','/tidb/dev/load-misuse-handling','/tidb/dev/loader-overview/']
---
# TiDB Lightning Backends
diff --git a/tidb-lightning/tidb-lightning-checkpoints.md b/tidb-lightning/tidb-lightning-checkpoints.md
index ef6e8e7583a7d..d7dfba0140cc9 100644
--- a/tidb-lightning/tidb-lightning-checkpoints.md
+++ b/tidb-lightning/tidb-lightning-checkpoints.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Checkpoints
summary: Use checkpoints to avoid redoing the previously completed tasks before the crash.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-checkpoints/','/docs/dev/reference/tools/tidb-lightning/checkpoints/']
---
# TiDB Lightning Checkpoints
diff --git a/tidb-lightning/tidb-lightning-configuration.md b/tidb-lightning/tidb-lightning-configuration.md
index 47975da4d7a1f..3e322e75dcc7c 100644
--- a/tidb-lightning/tidb-lightning-configuration.md
+++ b/tidb-lightning/tidb-lightning-configuration.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Configuration
summary: Learn about the CLI usage and sample configuration in TiDB Lightning.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-configuration/','/docs/dev/reference/tools/tidb-lightning/config/']
---
# TiDB Lightning Configuration
diff --git a/tidb-lightning/tidb-lightning-faq.md b/tidb-lightning/tidb-lightning-faq.md
index 1033900cf1276..9639c092c12df 100644
--- a/tidb-lightning/tidb-lightning-faq.md
+++ b/tidb-lightning/tidb-lightning-faq.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning FAQs
summary: Learn about the frequently asked questions (FAQs) and answers about TiDB Lightning.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-faq/','/docs/dev/faq/tidb-lightning/','/docs/dev/troubleshoot-tidb-lightning/','/docs/dev/how-to/troubleshoot/tidb-lightning/','/docs/dev/tidb-lightning/tidb-lightning-misuse-handling/','/docs/dev/reference/tools/error-case-handling/lightning-misuse-handling/','/tidb/dev/tidb-lightning-misuse-handling','/tidb/dev/troubleshoot-tidb-lightning']
---
# TiDB Lightning FAQs
diff --git a/tidb-lightning/tidb-lightning-glossary.md b/tidb-lightning/tidb-lightning-glossary.md
index 80c423c24551d..72c7d1ccb45f3 100644
--- a/tidb-lightning/tidb-lightning-glossary.md
+++ b/tidb-lightning/tidb-lightning-glossary.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Glossary
summary: List of special terms used in TiDB Lightning.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-glossary/','/docs/dev/reference/tools/tidb-lightning/glossary/']
---
# TiDB Lightning Glossary
diff --git a/tidb-lightning/tidb-lightning-overview.md b/tidb-lightning/tidb-lightning-overview.md
index 94a0c0676c5d4..45d14c0ab28f7 100644
--- a/tidb-lightning/tidb-lightning-overview.md
+++ b/tidb-lightning/tidb-lightning-overview.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Overview
summary: Learn about Lightning and the whole architecture.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-overview/','/docs/dev/reference/tools/tidb-lightning/overview/']
---
# TiDB Lightning Overview
diff --git a/tidb-lightning/tidb-lightning-web-interface.md b/tidb-lightning/tidb-lightning-web-interface.md
index bc0f5765a0c35..0b29483eebf21 100644
--- a/tidb-lightning/tidb-lightning-web-interface.md
+++ b/tidb-lightning/tidb-lightning-web-interface.md
@@ -1,7 +1,6 @@
---
title: TiDB Lightning Web Interface
summary: Control TiDB Lightning through the web interface.
-aliases: ['/docs/dev/tidb-lightning/tidb-lightning-web-interface/','/docs/dev/reference/tools/tidb-lightning/web/']
---
# TiDB Lightning Web Interface
diff --git a/tidb-limitations.md b/tidb-limitations.md
index 86e4cae006e96..25d6ca6e35ef3 100644
--- a/tidb-limitations.md
+++ b/tidb-limitations.md
@@ -1,7 +1,6 @@
---
title: TiDB Limitations
summary: Learn the usage limitations of TiDB.
-aliases: ['/docs/dev/tidb-limitations/']
---
# TiDB Limitations
diff --git a/tidb-monitoring-api.md b/tidb-monitoring-api.md
index f5e6313b60b29..9ec8c861deb4b 100644
--- a/tidb-monitoring-api.md
+++ b/tidb-monitoring-api.md
@@ -1,7 +1,6 @@
---
title: TiDB Monitoring API
summary: Learn the API of TiDB monitoring services.
-aliases: ['/docs/dev/tidb-monitoring-api/']
---
# TiDB Monitoring API
diff --git a/tidb-monitoring-framework.md b/tidb-monitoring-framework.md
index 30a2cbe8639dc..f6a8e0d5dfd32 100644
--- a/tidb-monitoring-framework.md
+++ b/tidb-monitoring-framework.md
@@ -1,7 +1,6 @@
---
title: TiDB Monitoring Framework Overview
summary: Use Prometheus and Grafana to build the TiDB monitoring framework.
-aliases: ['/docs/dev/tidb-monitoring-framework/','/docs/dev/how-to/monitor/overview/']
---
# TiDB Monitoring Framework Overview
diff --git a/tidb-troubleshooting-map.md b/tidb-troubleshooting-map.md
index c50760a7a8192..0f0df6cfdec63 100644
--- a/tidb-troubleshooting-map.md
+++ b/tidb-troubleshooting-map.md
@@ -1,7 +1,6 @@
---
title: TiDB Troubleshooting Map
summary: Learn how to troubleshoot common errors in TiDB.
-aliases: ['/docs/dev/tidb-troubleshooting-map/','/docs/dev/how-to/troubleshoot/diagnose-map/']
---
# TiDB Troubleshooting Map
diff --git a/tiflash-deployment-topology.md b/tiflash-deployment-topology.md
index 39196a252e966..13b2ed16ee237 100644
--- a/tiflash-deployment-topology.md
+++ b/tiflash-deployment-topology.md
@@ -1,7 +1,6 @@
---
title: TiFlash Deployment Topology
summary: Learn the deployment topology of TiFlash based on the minimal TiDB topology.
-aliases: ['/docs/dev/tiflash-deployment-topology/']
---
# TiFlash Deployment Topology
diff --git a/tiflash/maintain-tiflash.md b/tiflash/maintain-tiflash.md
index d53b05868f154..f4e417ca203a5 100644
--- a/tiflash/maintain-tiflash.md
+++ b/tiflash/maintain-tiflash.md
@@ -1,7 +1,6 @@
---
title: Maintain a TiFlash Cluster
summary: Learn common operations when you maintain a TiFlash cluster.
-aliases: ['/docs/dev/tiflash/maintain-tiflash/','/docs/dev/reference/tiflash/maintain/']
---
# Maintain a TiFlash Cluster
diff --git a/tiflash/monitor-tiflash.md b/tiflash/monitor-tiflash.md
index 90d28c38238ed..f9641145a0789 100644
--- a/tiflash/monitor-tiflash.md
+++ b/tiflash/monitor-tiflash.md
@@ -1,7 +1,6 @@
---
title: Monitor the TiFlash Cluster
summary: Learn the monitoring items of TiFlash.
-aliases: ['/docs/dev/tiflash/monitor-tiflash/','/docs/dev/reference/tiflash/monitor/']
---
# Monitor the TiFlash Cluster
diff --git a/tiflash/tiflash-alert-rules.md b/tiflash/tiflash-alert-rules.md
index 4f9a6d1f423fc..40d8b70642a7e 100644
--- a/tiflash/tiflash-alert-rules.md
+++ b/tiflash/tiflash-alert-rules.md
@@ -1,7 +1,6 @@
---
title: TiFlash Alert Rules
summary: Learn the alert rules of the TiFlash cluster.
-aliases: ['/docs/dev/tiflash/tiflash-alert-rules/','/docs/dev/reference/tiflash/alert-rules/']
---
# TiFlash Alert Rules
diff --git a/tiflash/tiflash-command-line-flags.md b/tiflash/tiflash-command-line-flags.md
index 94e71aeda7156..53c3cc4c5199f 100644
--- a/tiflash/tiflash-command-line-flags.md
+++ b/tiflash/tiflash-command-line-flags.md
@@ -1,7 +1,6 @@
---
title: TiFlash Command-line Flags
summary: Learn the command-line startup flags of TiFlash.
-aliases: ['/docs/dev/tiflash/tiflash-command-line-flags/']
---
# TiFlash Command-Line Flags
diff --git a/tiflash/tiflash-configuration.md b/tiflash/tiflash-configuration.md
index 9307919c19a37..de9df6635468f 100644
--- a/tiflash/tiflash-configuration.md
+++ b/tiflash/tiflash-configuration.md
@@ -1,7 +1,6 @@
---
title: Configure TiFlash
summary: Learn how to configure TiFlash.
-aliases: ['/docs/dev/tiflash/tiflash-configuration/','/docs/dev/reference/tiflash/configuration/']
---
# Configure TiFlash
diff --git a/tiflash/tiflash-overview.md b/tiflash/tiflash-overview.md
index dc4634305c309..f100a47b294a0 100644
--- a/tiflash/tiflash-overview.md
+++ b/tiflash/tiflash-overview.md
@@ -1,7 +1,6 @@
---
title: TiFlash Overview
summary: Learn the architecture and key features of TiFlash.
-aliases: ['/docs/dev/tiflash/tiflash-overview/','/docs/dev/reference/tiflash/overview/']
---
# TiFlash Overview
diff --git a/tiflash/troubleshoot-tiflash.md b/tiflash/troubleshoot-tiflash.md
index 91920fd14dbe5..189ec97b35dfc 100644
--- a/tiflash/troubleshoot-tiflash.md
+++ b/tiflash/troubleshoot-tiflash.md
@@ -1,7 +1,6 @@
---
title: Troubleshoot a TiFlash Cluster
summary: Learn common operations when you troubleshoot a TiFlash cluster.
-aliases: ['/docs/dev/tiflash/troubleshoot-tiflash/']
---
# Troubleshoot a TiFlash Cluster
diff --git a/tiflash/tune-tiflash-performance.md b/tiflash/tune-tiflash-performance.md
index 9bbe13d0dcc56..de8a951737535 100644
--- a/tiflash/tune-tiflash-performance.md
+++ b/tiflash/tune-tiflash-performance.md
@@ -1,7 +1,6 @@
---
title: Tune TiFlash Performance
summary: Learn how to tune the performance of TiFlash.
-aliases: ['/docs/dev/tiflash/tune-tiflash-performance/','/docs/dev/reference/tiflash/tune-performance/']
---
# Tune TiFlash Performance
diff --git a/tiflash/use-tiflash.md b/tiflash/use-tiflash.md
index a701a70abfdd2..0c417a2304dde 100644
--- a/tiflash/use-tiflash.md
+++ b/tiflash/use-tiflash.md
@@ -1,6 +1,5 @@
---
title: Use TiFlash
-aliases: ['/docs/dev/tiflash/use-tiflash/','/docs/dev/reference/tiflash/use-tiflash/']
---
# Use TiFlash
diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md
index 4ed0b19574da4..cf5f707c3a85e 100644
--- a/tikv-configuration-file.md
+++ b/tikv-configuration-file.md
@@ -1,7 +1,6 @@
---
title: TiKV Configuration File
summary: Learn the TiKV configuration file.
-aliases: ['/docs/dev/tikv-configuration-file/','/docs/dev/reference/configuration/tikv-server/configuration-file/']
---
# TiKV Configuration File
diff --git a/tikv-control.md b/tikv-control.md
index fd70acaf1b163..c68b7fa53a031 100644
--- a/tikv-control.md
+++ b/tikv-control.md
@@ -1,7 +1,6 @@
---
title: TiKV Control User Guide
summary: Use TiKV Control to manage a TiKV cluster.
-aliases: ['/docs/dev/tikv-control/','/docs/dev/reference/tools/tikv-control/']
---
# TiKV Control User Guide
diff --git a/tispark-overview.md b/tispark-overview.md
index 8f6c36c3f69e9..0dab2de770f4d 100644
--- a/tispark-overview.md
+++ b/tispark-overview.md
@@ -1,7 +1,6 @@
---
title: TiSpark User Guide
summary: Use TiSpark to provide an HTAP solution to serve as a one-stop solution for both online transactions and analysis.
-aliases: ['/docs/dev/tispark-overview/','/docs/dev/reference/tispark/']
---
# TiSpark User Guide
diff --git a/tiup/tiup-bench.md b/tiup/tiup-bench.md
index 2e518540ce73d..c43908064ee39 100644
--- a/tiup/tiup-bench.md
+++ b/tiup/tiup-bench.md
@@ -1,7 +1,6 @@
---
title: Stress Test TiDB Using TiUP Bench Component
summary: Learns how to stress test TiDB with TPC-C and TPC-H workloads using TiUP.
-aliases: ['/docs/dev/tiup/tiup-bench/','/docs/dev/reference/tools/tiup/bench/']
---
# Stress Test TiDB Using TiUP Bench Component
diff --git a/tiup/tiup-cluster.md b/tiup/tiup-cluster.md
index e5c685d32d246..b6bc6a5d51082 100644
--- a/tiup/tiup-cluster.md
+++ b/tiup/tiup-cluster.md
@@ -1,7 +1,6 @@
---
title: Deploy and Maintain an Online TiDB Cluster Using TiUP
summary: Learns how to deploy and maintain an online TiDB cluster using TiUP.
-aliases: ['/docs/dev/tiup/tiup-cluster/','/docs/dev/reference/tools/tiup/cluster/']
---
# Deploy and Maintain an Online TiDB Cluster Using TiUP
diff --git a/tiup/tiup-component-management.md b/tiup/tiup-component-management.md
index 6b3782c83d527..84531c75f8888 100644
--- a/tiup/tiup-component-management.md
+++ b/tiup/tiup-component-management.md
@@ -1,7 +1,6 @@
---
title: Manage TiUP Components with TiUP Commands
summary: Learn how to manage TiUP components using TiUP commands.
-aliases: ['/tidb/dev/manage-tiup-component','/docs/dev/tiup/manage-tiup-component/','/docs/dev/reference/tools/tiup/manage-component/']
---
# Manage TiUP Components with TiUP Commands
diff --git a/tiup/tiup-documentation-guide.md b/tiup/tiup-documentation-guide.md
index 629648a6d5280..8b4dac5cfcf78 100644
--- a/tiup/tiup-documentation-guide.md
+++ b/tiup/tiup-documentation-guide.md
@@ -1,7 +1,6 @@
---
title: TiUP Documentation Map
summary: Guide you through TiUP documentation with links and introductions.
-aliases: ['/docs/dev/tiup/tiup-documentation-guide/']
---
# TiUP Documentation Map
diff --git a/tiup/tiup-faq.md b/tiup/tiup-faq.md
index 806d1cc5f39b0..b1be6b89ed9a9 100644
--- a/tiup/tiup-faq.md
+++ b/tiup/tiup-faq.md
@@ -1,7 +1,6 @@
---
title: TiUP FAQ
summary: Provide answers to common questions asked by TiUP users.
-aliases: ['/docs/dev/tiup/tiup-faq/']
---
# TiUP FAQ
diff --git a/tiup/tiup-mirror.md b/tiup/tiup-mirror.md
index 373e3469f0cba..c634ab5801fad 100644
--- a/tiup/tiup-mirror.md
+++ b/tiup/tiup-mirror.md
@@ -1,7 +1,6 @@
---
title: Create a Private Mirror
summary: Learn how to create a private mirror.
-aliases: ['/tidb/dev/tiup-mirrors','/docs/dev/tiup/tiup-mirrors/','/docs/dev/reference/tools/tiup/mirrors/']
---
# Create a Private Mirror
diff --git a/tiup/tiup-overview.md b/tiup/tiup-overview.md
index 2af990945f6cf..1f3fc746d03b1 100644
--- a/tiup/tiup-overview.md
+++ b/tiup/tiup-overview.md
@@ -1,7 +1,6 @@
---
title: TiUP Overview
summary: Introduce the TiUP tool and its ecosystem.
-aliases: ['/docs/dev/tiup/tiup-overview/','/docs/dev/reference/tools/tiup/overview/']
---
# TiUP Overview
diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md
index bb9836c2fea8e..db8845bacc814 100644
--- a/tiup/tiup-playground.md
+++ b/tiup/tiup-playground.md
@@ -1,7 +1,6 @@
---
title: Quickly Deploy a Local TiDB Cluster
summary: Learn how to quickly deploy a local TiDB cluster using the playground component of TiUP.
-aliases: ['/docs/dev/tiup/tiup-playground/','/docs/dev/reference/tools/tiup/playground/']
---
# Quickly Deploy a Local TiDB Cluster
diff --git a/tiup/tiup-terminology-and-concepts.md b/tiup/tiup-terminology-and-concepts.md
index a44de21943c36..7ff8d201ffaec 100644
--- a/tiup/tiup-terminology-and-concepts.md
+++ b/tiup/tiup-terminology-and-concepts.md
@@ -1,7 +1,6 @@
---
title: TiUP Terminology and Concepts
summary: Explain the terms and concepts of TiUP.
-aliases: ['/docs/dev/tiup/tiup-terminology-and-concepts/']
---
# TiUP Terminology and Concepts
diff --git a/tiup/tiup-troubleshooting-guide.md b/tiup/tiup-troubleshooting-guide.md
index be2ca01c79f95..f6d225ed952bf 100644
--- a/tiup/tiup-troubleshooting-guide.md
+++ b/tiup/tiup-troubleshooting-guide.md
@@ -1,7 +1,6 @@
---
title: TiUP Troubleshooting Guide
summary: Introduce the troubleshooting methods and solutions if you encounter issues when using TiUP.
-aliases: ['/docs/dev/tiup/tiup-troubleshooting-guide/']
---
# TiUP Troubleshooting Guide
diff --git a/transaction-isolation-levels.md b/transaction-isolation-levels.md
index 3b2ec9ca8f8d3..b51b9be268af9 100644
--- a/transaction-isolation-levels.md
+++ b/transaction-isolation-levels.md
@@ -1,7 +1,6 @@
---
title: TiDB Transaction Isolation Levels
summary: Learn about the transaction isolation levels in TiDB.
-aliases: ['/docs/dev/transaction-isolation-levels/','/docs/dev/reference/transactions/transaction-isolation/']
---
# TiDB Transaction Isolation Levels
diff --git a/transaction-overview.md b/transaction-overview.md
index 4b4b1ae151ccb..75ffeaa891c2c 100644
--- a/transaction-overview.md
+++ b/transaction-overview.md
@@ -1,7 +1,6 @@
---
title: Transactions
summary: Learn transactions in TiDB.
-aliases: ['/docs/dev/transaction-overview/','/docs/dev/reference/transactions/overview/']
---
# Transactions
diff --git a/troubleshoot-tidb-cluster.md b/troubleshoot-tidb-cluster.md
index 8e24f9560e71f..16aa90f96666f 100644
--- a/troubleshoot-tidb-cluster.md
+++ b/troubleshoot-tidb-cluster.md
@@ -1,7 +1,6 @@
---
title: TiDB Cluster Troubleshooting Guide
summary: Learn how to diagnose and resolve issues when you use TiDB.
-aliases: ['/docs/dev/troubleshoot-tidb-cluster/','/docs/dev/how-to/troubleshoot/cluster-setup/']
---
# TiDB Cluster Troubleshooting Guide
diff --git a/tune-operating-system.md b/tune-operating-system.md
index dd3fef8b92a3e..39e7183cfb5f0 100644
--- a/tune-operating-system.md
+++ b/tune-operating-system.md
@@ -1,7 +1,6 @@
---
title: Operating System Tuning
summary: Learn how to tune the parameters of the operating system.
-aliases: ['/docs/dev/tune-operating-system/']
---
# Operating System Tuning
diff --git a/tune-tikv-memory-performance.md b/tune-tikv-memory-performance.md
index 8da49518bd93c..6f3d51ada5b08 100644
--- a/tune-tikv-memory-performance.md
+++ b/tune-tikv-memory-performance.md
@@ -1,7 +1,6 @@
---
title: Tune TiKV Memory Parameter Performance
summary: Learn how to tune the TiKV parameters for optimal performance.
-aliases: ['/docs/dev/tune-tikv-performance/','/docs/dev/reference/performance/tune-tikv/','/tidb/dev/tune-tikv-performance']
---
# Tune TiKV Memory Parameter Performance
diff --git a/tune-tikv-thread-performance.md b/tune-tikv-thread-performance.md
index b6ddfa986854c..0774e9b5f8859 100644
--- a/tune-tikv-thread-performance.md
+++ b/tune-tikv-thread-performance.md
@@ -1,7 +1,6 @@
---
title: Tune TiKV Thread Pool Performance
summary: Learn how to tune TiKV thread pools for optimal performance.
-aliases: ['/docs/dev/tune-tikv-thread-performance/']
---
# Tune TiKV Thread Pool Performance
diff --git a/upgrade-tidb-using-tiup.md b/upgrade-tidb-using-tiup.md
index 6a4b19e70878a..e8206e415f13d 100644
--- a/upgrade-tidb-using-tiup.md
+++ b/upgrade-tidb-using-tiup.md
@@ -1,7 +1,6 @@
---
title: Upgrade TiDB Using TiUP
summary: Learn how to upgrade TiDB using TiUP.
-aliases: ['/docs/dev/upgrade-tidb-using-tiup/','/docs/dev/how-to/upgrade/using-tiup/','/tidb/dev/upgrade-tidb-using-tiup-offline','/docs/dev/upgrade-tidb-using-tiup-offline/']
---
# Upgrade TiDB Using TiUP
diff --git a/user-account-management.md b/user-account-management.md
index cfb7181d88a6b..53b6a26027b16 100644
--- a/user-account-management.md
+++ b/user-account-management.md
@@ -1,7 +1,6 @@
---
title: TiDB User Account Management
summary: Learn how to manage a TiDB user account.
-aliases: ['/docs/dev/user-account-management/','/docs/dev/reference/security/user-account-management/']
---
# TiDB User Account Management
diff --git a/user-defined-variables.md b/user-defined-variables.md
index 470287ea2c608..53bc0392476dd 100644
--- a/user-defined-variables.md
+++ b/user-defined-variables.md
@@ -1,7 +1,6 @@
---
title: User-Defined Variables
summary: Learn how to use user-defined variables.
-aliases: ['/docs/dev/user-defined-variables/','/docs/dev/reference/sql/language-structure/user-defined-variables/']
---
# User-Defined Variables
diff --git a/views.md b/views.md
index 2229ab7e2f275..edc5b783f51f3 100644
--- a/views.md
+++ b/views.md
@@ -1,7 +1,6 @@
---
title: Views
summary: Learn how to use views in TiDB.
-aliases: ['/docs/dev/views/','/docs/dev/reference/sql/views/']
---
# Views
diff --git a/whats-new-in-tidb-4.0.md b/whats-new-in-tidb-4.0.md
index f697409701939..47bc49c7be554 100644
--- a/whats-new-in-tidb-4.0.md
+++ b/whats-new-in-tidb-4.0.md
@@ -1,7 +1,6 @@
---
title: What's New in TiDB 4.0
summary: Learn the new features of TiDB v4.0.
-aliases: ['/docs/dev/whats-new-in-tidb-4.0/']
---
# What’s New in TiDB 4.0
From ff81e85ec9d040a25158c76752a627d84f84c0b7 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Tue, 22 Jun 2021 16:55:23 +0800
Subject: [PATCH 002/127] add docs for enforce mpp (#5811) (#5819)
---
system-variables.md | 17 +++++++--
tidb-configuration-file.md | 6 ++++
tiflash/use-tiflash.md | 73 ++++++++++++++++++++++++++++++++++----
3 files changed, 88 insertions(+), 8 deletions(-)
diff --git a/system-variables.md b/system-variables.md
index 98c2880c639c4..a0e41f63ca6b4 100644
--- a/system-variables.md
+++ b/system-variables.md
@@ -205,8 +205,11 @@ mysql> SELECT * FROM t1;
- Scope: SESSION | GLOBAL
- Default value: `ON`
-- Possible values: `OFF`, `ON`, `ENFORCE`
-- This variable controls whether to use the MPP mode of TiFlash to execute queries. If the value is set to `ON`, TiDB automatically determines using the optimizer whether to choose MPP to execute queries. MPP is a distributed computing framework provided by the TiFlash engine, which allows data exchange between nodes and provides high-performance, high-throughput SQL algorithms.
+- Controls whether to use the MPP mode of TiFlash to execute queries. The value options are as follows:
+ - `0` or `OFF`, which means that the MPP mode will not be used.
+ - `1` or `ON`, which means that the optimizer determines whether to use the MPP mode based on the cost estimation (by default).
+
+MPP is a distributed computing framework provided by the TiFlash engine, which allows data exchange between nodes and provides high-performance, high-throughput SQL algorithms. For details about the selection of the MPP mode, refer to [Control whether to select the MPP mode](/tiflash/use-tiflash.md#control-whether-to-select-the-mpp-mode).
### tidb_allow_remove_auto_inc New in v2.1.18 and v3.0.4
@@ -605,6 +608,16 @@ Query OK, 0 rows affected (0.09 sec)
- Default value: `ON`
- This variable is used to control whether to enable the support for window functions. Note that window functions may use reserved keywords. This might cause SQL statements that could be executed normally cannot be parsed after upgrading TiDB. In this case, you can set `tidb_enable_window_function` to `OFF`.
+### `tidb_enforce_mpp` New in v5.1
+
+- Scope: SESSION
+- Default value: `OFF`
+- Controls whether to ignore the optimizer's cost estimation and to forcibly use TiFlash's MPP mode for query execution. The value options are as follows:
+ - `0` or `OFF`, which means that the MPP mode is not forcibly used (by default).
+ - `1` or `ON`, which means that the cost estimation is ignored and the MPP mode is forcibly used. Note that this setting only takes effect when `tidb_allow_mpp=true`.
+
+MPP is a distributed computing framework provided by the TiFlash engine, which allows data exchange between nodes and provides high-performance, high-throughput SQL algorithms. For details about the selection of the MPP mode, refer to [Control whether to select the MPP mode](/tiflash/use-tiflash.md#control-whether-to-select-the-mpp-mode).
+
### tidb_evolve_plan_baselines New in v4.0
- Scope: SESSION | GLOBAL
diff --git a/tidb-configuration-file.md b/tidb-configuration-file.md
index 48a9b443d261f..3a3f34f74ed34 100644
--- a/tidb-configuration-file.md
+++ b/tidb-configuration-file.md
@@ -438,6 +438,12 @@ Configuration items related to performance.
+ Default value: `20971520`
+ When `nested-loop-join-cache-capacity` is set to `0`, nested loop join cache is disabled by default. When the LRU size is larger than the value of `nested-loop-join-cache-capacity`, the elements in the LRU are removed.
+### `enforce-mpp`
+
++ Determines whether to ignore the optimizer's cost estimation and to forcibly use TiFlash's MPP mode for query execution.
++ Default value: `false`
++ This configuration item is the initial value of [`tidb_enforce_mpp`](/system-variables.md#tidb_enforce_mpp-new-in-v51).
+
## prepared-plan-cache
The Plan Cache configuration of the `PREPARE` statement.
diff --git a/tiflash/use-tiflash.md b/tiflash/use-tiflash.md
index 0c417a2304dde..e8ef201eb05a6 100644
--- a/tiflash/use-tiflash.md
+++ b/tiflash/use-tiflash.md
@@ -192,7 +192,7 @@ In the above three ways of reading TiFlash replicas, engine isolation specifies
> **Note:**
>
-> Before v4.0.3, the behavior of reading from TiFlash replica in a non-read-only SQL statement (for example, `INSERT INTO ... SELECT`, `SELECT ... FOR UPDATE`, `UPDATE ...`, `DELETE ...`) is undefined. In v4.0.3 and later versions, internally TiDB ignores the TiFlash replica for a non-read-only SQL statement to guarantee the data correctness. That is, for [smart selection](#smart-selection), TiDB automatically chooses the non-TiFlash replica; for [engine isolation](#engine-isolation) that specifies TiFlash replica **only**, TiDB reports an error; and for [manual hint](#manual-hint), TiDB ignores the hint.
+> Before v4.0.3, the behavior of reading from TiFlash replica in a non-read-only SQL statement (for example, `INSERT INTO ... SELECT`, `SELECT ... FOR UPDATE`, `UPDATE ...`, `DELETE ...`) is undefined. In v4.0.3 and later versions, internally TiDB ignores the TiFlash replica for a non-read-only SQL statement to guarantee the data correctness. That is, for [smart selection](#smart-selection), TiDB automatically selects the non-TiFlash replica; for [engine isolation](#engine-isolation) that specifies TiFlash replica **only**, TiDB reports an error; and for [manual hint](#manual-hint), TiDB ignores the hint.
## Use TiSpark to read TiFlash replicas
@@ -258,13 +258,74 @@ If a query encounters unsupported push-down calculations, TiDB needs to complete
## Use the MPP mode
-TiFlash supports using the MPP mode to execute queries, which introduces cross-node data exchange (data shuffle process) into the computation. The MPP mode is enabled by default and can be disabled by setting the value of the global/session variable [`tidb_allow_mpp`](/system-variables.md#tidb_allow_mpp-new-in-v50) to `0` or `OFF`.
+TiFlash supports using the MPP mode to execute queries, which introduces cross-node data exchange (data shuffle process) into the computation. TiDB automatically determines whether to select the MPP mode using the optimizer's cost estimation. You can change the selection strategy by modifying the values of [`tidb_allow_mpp`](/system-variables.md#tidb_allow_mpp-new-in-v50) and [`tidb_enforce_mpp`](/system-variables.md#tidb_enforce_mpp-new-in-v51).
-```shell
-set @@session.tidb_allow_mpp=0
+### Control whether to select the MPP mode
+
+The `tidb_allow_mpp` variable controls whether TiDB can select the MPP mode to execute queries. The `tidb_enforce_mpp` variable controls whether the optimizer's cost estimation is ignored and the MPP mode of TiFlash is forcibly used to execute queries.
+
+The results corresponding to all values of these two variables are as follows:
+
+| | tidb_allow_mpp=off | tidb_allow_mpp=on (by default) |
+| ---------------------- | -------------------- | -------------------------------- |
+| tidb_enforce_mpp=off (by default) | The MPP mode is not used. | The optimizer selects the MPP mode based on cost estimation. (by default)|
+| tidb_enforce_mpp=on | The MPP mode is not used. | TiDB ignores the cost estimation and selects the MPP mode. |
+
+For example, if you do not want to use the MPP mode, you can execute the following statements:
+
+{{< copyable "sql" >}}
+
+```sql
+set @@session.tidb_allow_mpp=1;
+set @@session.tidb_enforce_mpp=0;
```
-MPP mode supports these physical algorithms: Broadcast Hash Join, Shuffled Hash Join, Shuffled Hash Aggregation, Union All, TopN, and Limit. The optimizer automatically determines which algorithm to be used in a query. To check the specific query execution plan, you can execute the `EXPLAIN` statement. If the result of the `EXPLAIN` statement shows ExchangeSender and ExchangeReceiver operators, it indicates that the MPP mode has taken effect.
+If you want TiDB's cost-based optimizer to automatically decide whether to use the MPP mode (by default), you can execute the following statements:
+
+{{< copyable "sql" >}}
+
+```sql
+set @@session.tidb_allow_mpp=1;
+set @@session.tidb_enforce_mpp=0;
+```
+
+If you want TiDB to ignore the optimizer's cost estimation and to forcibly select the MPP mode, you can execute the following statements:
+
+{{< copyable "sql" >}}
+
+```sql
+set @@session.tidb_allow_mpp=1;
+set @@session.tidb_enforce_mpp=1;
+```
+
+The initial value of the `tidb_enforce_mpp` session variable is equal to the [`enforce-mpp`](/tidb-configuration-file.md#enforce-mpp) configuration value of this tidb-server instance (which is `false` by default). If multiple tidb-server instances in a TiDB cluster only perform analytical queries and you want to make sure that the MPP mode is used on these instances, you can change their [`enforce-mpp`](/tidb-configuration-file.md#enforce-mpp) configuration values to `true`.
+
+> **Note:**
+>
+> When `tidb_enforce_mpp=1` takes effect, the TiDB optimizer will ignore the cost estimation to choose the MPP mode. However, if other factors block the MPP mode, TiDB will not select the MPP mode. These factors include the absence of TiFlash replica, unfinished replication of TiFlash replicas, and statements containing operators or functions that are not supported by the MPP mode.
+>
+> If TiDB optimizer cannot select the MPP mode due to reasons other than cost estimation, when you use the `EXPLAIN` statement to check out the execution plan, a warning is returned to explain the reason. For example:
+>
+> {{< copyable "sql" >}}
+>
+> ```sql
+> set @@session.tidb_enforce_mpp=1;
+> create table t(a int);
+> explain select count(*) from t;
+> show warnings;
+> ```
+>
+> ```
+> +---------+------+-----------------------------------------------------------------------------+
+> | Level | Code | Message |
+> +---------+------+-----------------------------------------------------------------------------+
+> | Warning | 1105 | MPP mode may be blocked because there aren't tiflash replicas of table `t`. |
+> +---------+------+-----------------------------------------------------------------------------+
+> ```
+
+### Algorithm support for the MPP mode
+
+The MPP mode supports these physical algorithms: Broadcast Hash Join, Shuffled Hash Join, Shuffled Hash Aggregation, Union All, TopN, and Limit. The optimizer automatically determines which algorithm to be used in a query. To check the specific query execution plan, you can execute the `EXPLAIN` statement. If the result of the `EXPLAIN` statement shows ExchangeSender and ExchangeReceiver operators, it indicates that the MPP mode has taken effect.
The following statement takes the table structure in the TPC-H test set as an example:
@@ -329,4 +390,4 @@ Currently, TiFlash does not support some features. These features might be incom
In the example above, `a/b`'s inferred type from the compiling is `Decimal(7,4)` both in TiDB and in TiFlash. Constrained by `Decimal(7,4)`, `a/b`'s returned type should be `0.0000`. In TiDB, `a/b`'s runtime precision is higher than `Decimal(7,4)`, so the original table data is not filtered by the `where a/b` condition. However, in TiFlash, the calculation of `a/b` uses `Decimal(7,4)` as the result type, so the original table data is filtered by the `where a/b` condition.
* The MPP mode in TiFlash does not support the following features:
- * If the [`new_collations_enabled_on_first_bootstrap`](/tidb-configuration-file.md#new_collations_enabled_on_first_bootstrap) configuration item's value is `true`, the MPP mode does not support the string-type join key or the string column type in the `group by` aggregation. For these two query types, the MPP mode is not chosen by default.
+ * If the [`new_collations_enabled_on_first_bootstrap`](/tidb-configuration-file.md#new_collations_enabled_on_first_bootstrap) configuration item's value is `true`, the MPP mode does not support the string-type join key or the string column type in the `group by` aggregation. For these two query types, the MPP mode is not selected by default.
From ed00c06c11bcb1cfe6a5b5440f8cdd419388ffa3 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Tue, 22 Jun 2021 17:07:23 +0800
Subject: [PATCH 003/127] Update tidb-configuration-file.md (#5070) (#5821)
---
tidb-configuration-file.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tidb-configuration-file.md b/tidb-configuration-file.md
index 3a3f34f74ed34..200fa8402ad01 100644
--- a/tidb-configuration-file.md
+++ b/tidb-configuration-file.md
@@ -378,6 +378,11 @@ Configuration items related to performance.
- Determines whether to enable `keepalive` in the TCP layer.
- Default value: `true`
+### `tcp-no-delay`
+
+- Determines whether to enable TCP_NODELAY at the TCP layer. After it is enabled, TiDB disables the Nagle algorithm in the TCP/IP protocol and allows sending small data packets to reduce network latency. This is suitable for latency-sensitive applications with a small transmission volume of data.
+- Default value: `true`
+
### `cross-join`
- Default value: `true`
From b7263ce587595bf41c80a76fb47163be4a79ee41 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Tue, 22 Jun 2021 17:21:22 +0800
Subject: [PATCH 004/127] Add Lock View documents (#5798) (#5822)
---
TOC.md | 3 +
.../information-schema-data-lock-waits.md | 86 ++++++++
.../information-schema-deadlocks.md | 200 ++++++++++++++++++
.../information-schema-tidb-trx.md | 137 ++++++++++++
information-schema/information-schema.md | 7 +-
tidb-configuration-file.md | 7 +
troubleshoot-lock-conflicts.md | 150 ++++++++++++-
7 files changed, 586 insertions(+), 4 deletions(-)
create mode 100644 information-schema/information-schema-data-lock-waits.md
create mode 100644 information-schema/information-schema-deadlocks.md
create mode 100644 information-schema/information-schema-tidb-trx.md
diff --git a/TOC.md b/TOC.md
index ad8375f603096..8268439165f6c 100644
--- a/TOC.md
+++ b/TOC.md
@@ -433,7 +433,9 @@
+ [`COLLATIONS`](/information-schema/information-schema-collations.md)
+ [`COLLATION_CHARACTER_SET_APPLICABILITY`](/information-schema/information-schema-collation-character-set-applicability.md)
+ [`COLUMNS`](/information-schema/information-schema-columns.md)
+ + [`DATA_LOCK_WAITS`](/information-schema/information-schema-data-lock-waits.md)
+ [`DDL_JOBS`](/information-schema/information-schema-ddl-jobs.md)
+ + [`DEADLOCKS`](/information-schema/information-schema-deadlocks.md)
+ [`ENGINES`](/information-schema/information-schema-engines.md)
+ [`INSPECTION_RESULT`](/information-schema/information-schema-inspection-result.md)
+ [`INSPECTION_RULES`](/information-schema/information-schema-inspection-rules.md)
@@ -454,6 +456,7 @@
+ [`TIDB_HOT_REGIONS`](/information-schema/information-schema-tidb-hot-regions.md)
+ [`TIDB_INDEXES`](/information-schema/information-schema-tidb-indexes.md)
+ [`TIDB_SERVERS_INFO`](/information-schema/information-schema-tidb-servers-info.md)
+ + [`TIDB_TRX`](/information-schema/information-schema-tidb-trx.md)
+ [`TIFLASH_REPLICA`](/information-schema/information-schema-tiflash-replica.md)
+ [`TIKV_REGION_PEERS`](/information-schema/information-schema-tikv-region-peers.md)
+ [`TIKV_REGION_STATUS`](/information-schema/information-schema-tikv-region-status.md)
diff --git a/information-schema/information-schema-data-lock-waits.md b/information-schema/information-schema-data-lock-waits.md
new file mode 100644
index 0000000000000..71cba4cda5758
--- /dev/null
+++ b/information-schema/information-schema-data-lock-waits.md
@@ -0,0 +1,86 @@
+---
+title: DATA_LOCK_WAITS
+summary: Learn the `DATA_LOCK_WAITS` information_schema table.
+---
+
+# DATA_LOCK_WAITS
+
+The `DATA_LOCK_WAITS` table shows the ongoing pessimistic locks waiting on all TiKV nodes in the cluster.
+
+> **Warning:**
+>
+> Currently, this is an experimental feature. The definition and behavior of the table structure might have major changes in future releases.
+
+{{< copyable "sql" >}}
+
+```sql
+USE information_schema;
+DESC data_lock_waits;
+```
+
+```sql
++------------------------+---------------------+------+------+---------+-------+
+| Field | Type | Null | Key | Default | Extra |
++------------------------+---------------------+------+------+---------+-------+
+| KEY | varchar(64) | NO | | NULL | |
+| TRX_ID | bigint(21) unsigned | NO | | NULL | |
+| CURRENT_HOLDING_TRX_ID | bigint(21) unsigned | NO | | NULL | |
+| SQL_DIGEST | varchar(64) | YES | | NULL | |
++------------------------+---------------------+------+------+---------+-------+
+```
+
+The meaning of each column field in the `DATA_LOCK_WAITS` table is as follows:
+
+* `KEY`: The KEY that is waiting for the lock and displayed in the form of hexadecimal string.
+* `TRX_ID`: The ID of the transaction that is waiting for the lock. This ID is also the `start_ts` of the transaction.
+* `CURRENT_HOLDING_TRX_ID`: The ID of the transaction that currently holds the lock. This ID is also the `start_ts` of the transaction.
+* `SQL_DIGEST`: The digest of the SQL statement that is currently blocked in the lock-waiting transaction.
+
+> **Warning:**
+>
+> * The information in this table is obtained in real time from all TiKV nodes during the query. Currently, even if the `WHERE` condition is added, TiDB might still collect information from all TiKV nodes. If the cluster is large and the load is high, querying this table might cause a potential risk of performance jitter. Therefore, use this table according to your actual situation.
+> * The information from different TiKV nodes is NOT guaranteed to be the snapshot at the same point in time.
+
+## Example
+
+{{< copyable "sql" >}}
+
+```sql
+select * from information_schema.data_lock_waits\G
+```
+
+```sql
+*************************** 1. row ***************************
+ KEY: 7480000000000000355f728000000000000002
+ TRX_ID: 425405024158875649
+CURRENT_HOLDING_TRX_ID: 425405016242126849
+ SQL_DIGEST: f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb22
+2 rows in set (0.01 sec)
+```
+
+The above query result shows that the transaction of the ID `425405024158875649` was trying to obtain the pessimistic lock on the key `7480000000000000355f728000000000000002` when the statement with digest `"f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb22"` was being executed, but the lock on this key was held by the transaction of the ID `425405016242126849`.
+
+## SQL Digest
+
+The `DATA_LOCK_WAITS` table records the SQL digest but not the original SQL statement.
+
+SQL digest is the hash value of the normalized SQL statement. To find the original SQL statement corresponding to the SQL digest, perform one of the following operations:
+
+- For the statements executed on the current TiDB node in the recent period of time, you can find the corresponding original SQL statement in the `STATEMENTS_SUMMARY` or `STATEMENTS_SUMMARY_HISTORY` table according to the SQL digest.
+- For the statements executed on all TiDB nodes in the entire cluster in the recent period of time, you can find the corresponding SQL statement in the `CLUSTER_STATEMENTS_SUMMARY` or `CLUSTER_STATEMENTS_SUMMARY_HISTORY` table according to the SQL digest.
+
+{{< copyable "sql" >}}
+
+```sql
+select digest, digest_text from information_schema.statements_summary where digest = "f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb2";
+```
+
+```sql
++------------------------------------------------------------------+---------------------------------------+
+| digest | digest_text |
++------------------------------------------------------------------+---------------------------------------+
+| f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb2 | update `t` set `v` = ? where `id` = ? |
++------------------------------------------------------------------+---------------------------------------+
+```
+
+For detailed description of SQL digest, `STATEMENTS_SUMMARY`, `STATEMENTS_SUMMARY_HISTORY`, `CLUSTER_STATEMENTS_SUMMARY`, and `CLUSTER_STATEMENTS_SUMMARY_HISTORY` tables, see [Statement Summary Tables](/statement-summary-tables.md).
diff --git a/information-schema/information-schema-deadlocks.md b/information-schema/information-schema-deadlocks.md
new file mode 100644
index 0000000000000..6133ac3988198
--- /dev/null
+++ b/information-schema/information-schema-deadlocks.md
@@ -0,0 +1,200 @@
+---
+title: DEADLOCKS
+summary: Learn the `DEADLOCKS` information_schema table.
+---
+
+# DEADLOCKS
+
+The `DEADLOCKS` table shows the information of the several deadlock errors that have occurred recently on the current TiDB node.
+
+> **Warning:**
+>
+> Currently, this is an experimental feature. The definition and behavior of the table structure might have major changes in future releases.
+
+{{< copyable "sql" >}}
+
+```sql
+USE information_schema;
+DESC deadlocks;
+```
+
+```sql
++--------------------+---------------------+------+------+---------+-------+
+| Field | Type | Null | Key | Default | Extra |
++--------------------+---------------------+------+------+---------+-------+
+| DEADLOCK_ID | bigint(21) | NO | | NULL | |
+| OCCUR_TIME | timestamp(6) | YES | | NULL | |
+| RETRYABLE | tinyint(1) | NO | | NULL | |
+| TRY_LOCK_TRX_ID | bigint(21) unsigned | NO | | NULL | |
+| CURRENT_SQL_DIGEST | varchar(64) | YES | | NULL | |
+| KEY | text | YES | | NULL | |
+| TRX_HOLDING_LOCK | bigint(21) unsigned | NO | | NULL | |
++--------------------+---------------------+------+------+---------+-------+
+```
+
+The `DEADLOCKS` table uses multiple rows to show the same deadlock event, and each row displays the information about one of the transactions involved in the deadlock event. If the TiDB node records multiple deadlock errors, each error is distinguished using the `DEADLOCK_ID` column. The same `DEADLOCK_ID` indicates the same deadlock event. Note that `DEADLOCK_ID` **does not guarantee global uniqueness and will not be persisted**. It only shows the same deadlock event in the same result set.
+
+The meaning of each column field in the `DEADLOCKS` table is as follows:
+
+* `DEADLOCK_ID`: The ID of the deadlock event. When multiple deadlock errors exist in the table, you can use this column to distinguish rows that belong to different deadlock errors.
+* `OCCUR_TIME`: The time when the deadlock error occurs.
+* `RETRYABLE`: Whether the deadlock error can be retried. Currently, TiDB does not support collecting the information of the retryable deadlock error, so the value of this field is always `0`. For the description of retryable deadlock errors, see the [Retryable deadlock errors](#retryable-deadlock-errors) section.
+* `TRY_LOCK_TRX_ID`: The ID of the transaction that tries to acquire lock. This ID is also the `start_ts` of the transaction.
+* `CURRENT_SQL_DIGEST`: The digest of the SQL statement currently being executed in the lock-acquiring transaction.
+* `KEY`: The blocked key that the transaction tries to lock. The value of this field is displayed in the form of hexadecimal string.
+* `TRX_HOLDING_LOCK`: The ID of the transaction that currently holds the lock on the key and causes blocking. This ID is also the `start_ts` of the transaction.
+
+To adjust the maximum number of deadlock events that can be recorded in the `DEADLOCKS` table, adjust the [`pessimistic-txn.deadlock-history-capacity`](/tidb-configuration-file.md#deadlock-history-capacity) configuration in the TiDB configuration file. By default, the information of the recent 10 deadlock events is recorded in the table.
+
+## Example 1
+
+Assume that the table definition and the initial data are as follows:
+
+{{< copyable "sql" >}}
+
+```sql
+create table t (id int primary key, v int);
+insert into t values (1, 10), (2, 20);
+```
+
+Execute the two transactions in the following order:
+
+| Transaction 1 | Transaction 2 | Description |
+|--------------------------------------|--------------------------------------|----------------------|
+| `update t set v = 11 where id = 1;` | | |
+| | `update t set v = 21 where id = 2;` | |
+| `update t set v = 12 where id = 2;` | | Transaction 1 gets blocked. |
+| | `update t set v = 22 where id = 1;` | Transaction 2 reports a deadlock error. |
+
+Next, transaction 2 reports a deadlock error. At this time, query the `DEADLOCKS` table:
+
+{{< copyable "sql" >}}
+
+```sql
+select * from information_schema.deadlocks;
+```
+
+The expected output is as follows:
+
+```sql
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+| DEADLOCK_ID | OCCUR_TIME | RETRYABLE | TRY_LOCK_TRX_ID | CURRENT_SQL_DIGEST | KEY | TRX_HOLDING_LOCK |
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+| 1 | 2021-06-04 08:22:38.765699 | 0 | 425405959304904707 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000002 | 425405959304904708 |
+| 1 | 2021-06-04 08:22:38.765699 | 0 | 425405959304904708 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000001 | 425405959304904707 |
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+```
+
+Two rows of data are generated in the `DEADLOCKS` table. The `DEADLOCK_ID` field of both rows is `1`, which means that the information in both rows belongs to the same deadlock error. The first row shows that the transaction of the ID `425405959304904707` is blocked on the key of `"7480000000000000385F728000000000000002"` by the transaction of the ID `"425405959304904708"`. The second row shows that the transaction of the ID `"425405959304904708"` is blocked on the key of `"7480000000000000385F728000000000000001"` by the transaction of the ID `425405959304904707`, which constitutes mutual blocking and forms a deadlock.
+
+## Example 2
+
+Assume that you query the `DEADLOCKS` table and get the following result:
+
+```sql
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+| DEADLOCK_ID | OCCUR_TIME | RETRYABLE | TRY_LOCK_TRX_ID | CURRENT_SQL_DIGEST | KEY | TRX_HOLDING_LOCK |
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+| 1 | 2021-06-04 08:22:38.765699 | 0 | 425405959304904707 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000002 | 425405959304904708 |
+| 1 | 2021-06-04 08:22:38.765699 | 0 | 425405959304904708 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000001 | 425405959304904707 |
+| 2 | 2021-06-04 08:22:56.795410 | 0 | 425405961664462853 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000002 | 425405961664462854 |
+| 2 | 2021-06-04 08:22:56.795410 | 0 | 425405961664462854 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000003 | 425405961664462855 |
+| 2 | 2021-06-04 08:22:56.795410 | 0 | 425405961664462855 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000001 | 425405961664462853 |
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+```
+
+The `DEADLOCK_ID` column in the above query result shows that the first two rows together represent the information of a deadlock error, and the two transactions that wait for each other form the deadlock. The next three rows together represent another deadlock information, and the three transactions that wait in a cycle form the deadlock.
+
+## Retryable deadlock errors
+
+> **Note:**
+>
+> Currently, TiDB does not support collecting retryable deadlock errors in the `DEADLOCKS` table.
+
+When transaction A is blocked by a lock already held by transaction B, and transaction B is directly or indirectly blocked by the lock held by the current transaction A, a deadlock error will occur. In this deadlock, there might be two cases:
+
++ Case 1: Transaction B might be (directly or indirectly) blocked by a lock generated by a statement that has been executed after transaction A starts and before transaction A gets blocked.
++ Case 2: Transaction B might also be blocked by the statement currently being executed in transaction A.
+
+In case 1, TiDB will report a deadlock error to the client of transaction A and terminate the transaction.
+
+In case 2, the statement currently being executed in transaction A will be automatically retried in TiDB. For example, suppose that transaction A executes the following statement:
+
+{{< copyable "sql" >}}
+
+```sql
+update t set v = v + 1 where id = 1 or id = 2;
+```
+
+Transaction B executes the following two statements successively.
+
+{{< copyable "sql" >}}
+
+```sql
+update t set v = 4 where id = 2;
+update t set v = 2 where id = 1;
+```
+
+Then if transaction A locks the two rows with `id = 1` and `id = 2`, and the two transactions run in the following sequence:
+
+1. Transaction A locks the row with `id = 1`.
+2. Transaction B executes the first statement and locks the row with `id = 2`.
+3. Transaction B executes the second statement and tries to lock the row with `id = 1`, which is blocked by transaction A.
+4. Transaction A tries to lock the row with `id = 2` and is blocked by transaction B, which forms a deadlock.
+
+For this case, because the statement of transaction A that blocks other transactions is also the statement currently being executed, the pessimistic lock on the current statement can be resolved (so that transaction B can continue to run), and the current statement can be retried. TiDB uses the key hash internally to determine whether this is the case.
+
+When a retryable deadlock occurs, the internal automatic retry will not cause a transaction error, so it is transparent to the client. However, if this situation occurs frequently, the performance might be affected. When this occurs, you can see `single statement deadlock, retry statement` in the TiDB log.
+
+## CLUSTER_DEADLOCKS
+
+The `CLUSTER_DEADLOCKS` table returns information about the recent deadlock errors on each TiDB node in the entire cluster, which is the information of the `DEADLOCKS` table on each node combined together. `CLUSTER_DEADLOCKS` also contains an additional `INSTANCE` column to display the IP address and port of the node to distinguish between different TiDB nodes.
+
+Note that, because `DEADLOCK_ID` does not guarantee global uniqueness, in the query result of the `CLUSTER_DEADLOCKS` table, you need to use the `INSTANCE` and `DEADLOCK_ID` together to distinguish the information of different deadlock errors in the result set.
+
+{{< copyable "sql" >}}
+
+```sql
+USE information_schema;
+DESC cluster_deadlocks;
+```
+
+```sql
++--------------------+---------------------+------+------+---------+-------+
+| Field | Type | Null | Key | Default | Extra |
++--------------------+---------------------+------+------+---------+-------+
+| INSTANCE | varchar(64) | YES | | NULL | |
+| DEADLOCK_ID | bigint(21) | NO | | NULL | |
+| OCCUR_TIME | timestamp(6) | YES | | NULL | |
+| RETRYABLE | tinyint(1) | NO | | NULL | |
+| TRY_LOCK_TRX_ID | bigint(21) unsigned | NO | | NULL | |
+| CURRENT_SQL_DIGEST | varchar(64) | YES | | NULL | |
+| KEY | text | YES | | NULL | |
+| TRX_HOLDING_LOCK | bigint(21) unsigned | NO | | NULL | |
++--------------------+---------------------+------+------+---------+-------+
+```
+
+## SQL Digest
+
+The `DEADLOCKS` table records the SQL digest but not the original SQL statement.
+
+SQL digest is the hash value after the SQL normalization. To find the original SQL statement corresponding to the SQL digest, perform one of the following operations:
+
+- For the statements executed on the current TiDB node in the recent period of time, you can find the corresponding original SQL statement in the `STATEMENTS_SUMMARY` or `STATEMENTS_SUMMARY_HISTORY` table according to the SQL digest.
+- For the statements executed on all TiDB nodes in the entire cluster in the recent period of time, you can find the corresponding SQL statement in the `CLUSTER_STATEMENTS_SUMMARY` or `CLUSTER_STATEMENTS_SUMMARY_HISTORY` table according to the SQL digest.
+
+{{< copyable "sql" >}}
+
+```sql
+select digest, digest_text from information_schema.statements_summary where digest = "f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb2";
+```
+
+```sql
++------------------------------------------------------------------+---------------------------------------+
+| digest | digest_text |
++------------------------------------------------------------------+---------------------------------------+
+| f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb2 | update `t` set `v` = ? where `id` = ? |
++------------------------------------------------------------------+---------------------------------------+
+```
+
+For detailed description of SQL digest, `STATEMENTS_SUMMARY`, `STATEMENTS_SUMMARY_HISTORY`, `CLUSTER_STATEMENTS_SUMMARY`, and `CLUSTER_STATEMENTS_SUMMARY_HISTORY` tables, see [Statement Summary Tables](/statement-summary-tables.md).
diff --git a/information-schema/information-schema-tidb-trx.md b/information-schema/information-schema-tidb-trx.md
new file mode 100644
index 0000000000000..1a9008bc49f98
--- /dev/null
+++ b/information-schema/information-schema-tidb-trx.md
@@ -0,0 +1,137 @@
+---
+title: TIDB_TRX
+summary: Learn the `TIDB_TRX` information_schema table.
+---
+
+# TIDB_TRX
+
+The `TIDB_TRX` table provides information about the transactions currently being executed on the TiDB node.
+
+> **Warning:**
+>
+> * Currently, this is an experimental feature. The definition and behavior of the table structure might have major changes in future releases.
+> * Currently, the `TIDB_TRX` table does not support displaying information of TiDB's internal transactions.
+
+{{< copyable "sql" >}}
+
+```sql
+USE information_schema;
+DESC tidb_trx;
+```
+
+```sql
++--------------------+---------------------------------------------------------+------+------+---------+-------+
+| Field | Type | Null | Key | Default | Extra |
++--------------------+---------------------------------------------------------+------+------+---------+-------+
+| ID | bigint(21) unsigned | NO | PRI | NULL | |
+| START_TIME | timestamp(6) | YES | | NULL | |
+| CURRENT_SQL_DIGEST | varchar(64) | YES | | NULL | |
+| STATE | enum('Normal','LockWaiting','Committing','RollingBack') | YES | | NULL | |
+| WAITING_START_TIME | timestamp(6) | YES | | NULL | |
+| MEM_BUFFER_KEYS | bigint(64) | YES | | NULL | |
+| MEM_BUFFER_BYTES | bigint(64) | YES | | NULL | |
+| SESSION_ID | bigint(21) unsigned | YES | | NULL | |
+| USER | varchar(16) | YES | | NULL | |
+| DB | varchar(64) | YES | | NULL | |
+| ALL_SQL_DIGESTS | text | YES | | NULL | |
++--------------------+---------------------------------------------------------+------+------+---------+-------+
+```
+
+The meaning of each column field in the `TIDB_TRX` table is as follows:
+
+* `ID`: The transaction ID, which is the `start_ts` (start timestamp) of the transaction.
+* `START_TIME`: The start time of the transaction, which is the physical time corresponding to the `start_ts` of the transaction.
+* `CURRENT_SQL_DIGEST`: The digest of the SQL statement currently being executed in the transaction.
+* `STATE`: The current state of the transaction. The possible values include:
+ * `Normal`: The transaction is being executed normally or in an idle state.
+ * `LockWaiting`: The transaction is waiting for the pessimistic lock to be acquired. Note that the transaction enters this state at the beginning of the pessimistic locking operation, no matter whether it is blocked by other transactions or not.
+ * `Committing`: The transaction is in the process of commit.
+ * `RollingBack`: The transaction is being rolled back.
+* `WAITING_START_TIME`: When the value of `STATE` is `LockWaiting`, this column shows the start time of the waiting.
+* `MEM_BUFFER_KEYS`: The number of keys written into the memory buffer by the current transaction.
+* `MEM_BUFFER_BYTES`: The total number of key-value bytes written into the memory buffer by the current transaction.
+* `SESSION_ID`: The ID of the session to which this transaction belongs.
+* `USER`: The name of the user who performs the transaction.
+* `DB`: The current default database name of the session in which the transaction is executed.
+* `ALL_SQL_DIGESTS`: The digest list of statements that have been executed in this transaction. For each transaction, the first 50 statements at most are recorded.
+
+## Example
+
+{{< copyable "sql" >}}
+
+```sql
+select * from information_schema.tidb_trx\G
+```
+
+```sql
+*************************** 1. row ***************************
+ ID: 425403705115541506
+ START_TIME: 2021-06-04 05:59:10.691000
+CURRENT_SQL_DIGEST: NULL
+ STATE: Normal
+WAITING_START_TIME: NULL
+ MEM_BUFFER_KEYS: 2
+ MEM_BUFFER_BYTES: 48
+ SESSION_ID: 7
+ USER: root
+ DB: test
+ ALL_SQL_DIGESTS: [e6f07d43b5c21db0fbb9a31feac2dc599787763393dd5acbfad80e247eb02ad5, 04fa858fa491c62d194faec2ab427261cc7998b3f1ccf8f6844febca504cb5e9, f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb2]
+1 row in set (0.00 sec)
+```
+
+The query result of the above example indicates that a transaction is being executed on the current node (the `STATE` is `Normal`), and this transaction is currently idle (`CURRENT_SQL_DIGEST` is `NULL`). This transaction has executed three statements (there are three records in the `ALL_SQL_DIGESTS` list and they are the digests of the three executed statements).
+
+## CLUSTER_TIDB_TRX
+
+The `TIDB_TRX` table only provides information about the transactions that are being executed on a single TiDB node. If you want to view the information of the transactions that are being executed on all TiDB nodes in the entire cluster, you need to query the `CLUSTER_TIDB_TRX` table. Compared with the query result of the `TIDB_TRX` table, the query result of the `CLUSTER_TIDB_TRX` table contains an extra `INSTANCE` field. The `INSTANCE` field displays the IP address and port of each node in the cluster, which is used to distinguish the TiDB node where the transaction is located.
+
+{{< copyable "sql" >}}
+
+```sql
+USE information_schema;
+DESC cluster_tidb_trx;
+```
+
+```sql
++--------------------+---------------------------------------------------------+------+------+---------+-------+
+| Field | Type | Null | Key | Default | Extra |
++--------------------+---------------------------------------------------------+------+------+---------+-------+
+| INSTANCE | varchar(64) | YES | | NULL | |
+| ID | bigint(21) unsigned | NO | PRI | NULL | |
+| START_TIME | timestamp(6) | YES | | NULL | |
+| CURRENT_SQL_DIGEST | varchar(64) | YES | | NULL | |
+| STATE | enum('Normal','LockWaiting','Committing','RollingBack') | YES | | NULL | |
+| WAITING_START_TIME | timestamp(6) | YES | | NULL | |
+| MEM_BUFFER_KEYS | bigint(64) | YES | | NULL | |
+| MEM_BUFFER_BYTES | bigint(64) | YES | | NULL | |
+| SESSION_ID | bigint(21) unsigned | YES | | NULL | |
+| USER | varchar(16) | YES | | NULL | |
+| DB | varchar(64) | YES | | NULL | |
+| ALL_SQL_DIGESTS | text | YES | | NULL | |
++--------------------+---------------------------------------------------------+------+------+---------+-------+
+```
+
+## SQL Digest
+
+The `TIDB_TRX` table only records SQL digests, not the original SQL statement.
+
+SQL digest is the hash value after the SQL normalization. To find the original SQL statement corresponding to the SQL digest, perform one of the following operations:
+
+- For the statements executed on the current TiDB node in the recent period of time, you can find the corresponding orginal SQL statement from the SQL digest in `STATEMENTS_SUMMARY` or `STATEMENTS_SUMMARY_HISTORY`.
+- For the statements executed on all TiDB nodes in the entire cluster in the recent period of time, you can find the corresponding SQL statement from the SQL digest in `CLUSTER_STATEMENTS_SUMMARY` or `CLUSTER_STATEMENTS_SUMMARY_HISTORY`.
+
+{{< copyable "sql" >}}
+
+```sql
+select digest, digest_text from information_schema.statements_summary where digest = "f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb2";
+```
+
+```sql
++------------------------------------------------------------------+---------------------------------------+
+| digest | digest_text |
++------------------------------------------------------------------+---------------------------------------+
+| f7530877a35ae65300c42250abd8bc731bbaf0a7cabc05dab843565230611bb2 | update `t` set `v` = ? where `id` = ? |
++------------------------------------------------------------------+---------------------------------------+
+```
+
+For detailed description of SQL digest, `STATEMENTS_SUMMARY`, `STATEMENTS_SUMMARY_HISTORY`, `CLUSTER_STATEMENTS_SUMMARY`, and `CLUSTER_STATEMENTS_SUMMARY_HISTORY` tables, see [Statement Summary Tables](/statement-summary-tables.md).
diff --git a/information-schema/information-schema.md b/information-schema/information-schema.md
index 33700d4bdc686..943bd0ee87291 100644
--- a/information-schema/information-schema.md
+++ b/information-schema/information-schema.md
@@ -55,6 +55,7 @@ Many `INFORMATION_SCHEMA` tables have a corresponding `SHOW` command. The benefi
| [`CLIENT_ERRORS_SUMMARY_BY_USER`](/information-schema/client-errors-summary-by-user.md) | Provides a summary of errors and warnings generated by clients. |
| [`CLIENT_ERRORS_SUMMARY_GLOBAL`](/information-schema/client-errors-summary-global.md) | Provides a summary of errors and warnings generated by clients. |
| [`CLUSTER_CONFIG`](/information-schema/information-schema-cluster-config.md) | Provides details about configuration settings for the entire TiDB cluster. |
+| `CLUSTER_DEADLOCKS` | Provides a cluster-level view of the `DEADLOCKS` table. |
| [`CLUSTER_HARDWARE`](/information-schema/information-schema-cluster-info.md) | Provides details on the underlying physical hardware discovered on each TiDB component. |
| [`CLUSTER_INFO`](/information-schema/information-schema-cluster-info.md) | Provides details on the current cluster topology. |
| [`CLUSTER_LOAD`](/information-schema/information-schema-cluster-load.md) | Provides current load information for TiDB servers in the cluster. |
@@ -62,9 +63,12 @@ Many `INFORMATION_SCHEMA` tables have a corresponding `SHOW` command. The benefi
| `CLUSTER_PROCESSLIST` | Provides a cluster-level view of the `PROCESSLIST` table. |
| `CLUSTER_SLOW_QUERY` | Provides a cluster-level view of the `SLOW_QUERY` table. |
| `CLUSTER_STATEMENTS_SUMMARY` | Provides a cluster-level view of the `STATEMENTS_SUMMARY` table. |
-| `CLUSTER_STATEMENTS_SUMMARY_HISTORY` | Provides a cluster-level view of the `CLUSTER_STATEMENTS_SUMMARY_HISTORY` table. |
+| `CLUSTER_STATEMENTS_SUMMARY_HISTORY` | Provides a cluster-level view of the `STATEMENTS_SUMMARY_HISTORY` table. |
+| `CLUSTER_TIDB_TRX` | Provides a cluster-level view of the `TIDB_TRX` table. |
| [`CLUSTER_SYSTEMINFO`](/information-schema/information-schema-cluster-systeminfo.md) | Provides details about kernel parameter configuration for servers in the cluster. |
+| [`DATA_LOCK_WAITS`](/information-schema/information-schema-data-lock-waits.md) | Provides the lock-waiting information on the TiKV server. |
| [`DDL_JOBS`](/information-schema/information-schema-ddl-jobs.md) | Provides similar output to `ADMIN SHOW DDL JOBS` |
+| [`DEADLOCKS`](/information-schema/information-schema-deadlocks.md) | Provides the information of several deadlock errors that have recently occurred. |
| [`INSPECTION_RESULT`](/information-schema/information-schema-inspection-result.md) | Triggers internal diagnostics checks. |
| [`INSPECTION_RULES`](/information-schema/information-schema-inspection-rules.md) | A list of internal diagnostic checks performed. |
| [`INSPECTION_SUMMARY`](/information-schema/information-schema-inspection-summary.md) | A summarized report of important monitoring metrics. |
@@ -79,6 +83,7 @@ Many `INFORMATION_SCHEMA` tables have a corresponding `SHOW` command. The benefi
| [`TIDB_HOT_REGIONS`](/information-schema/information-schema-tidb-hot-regions.md) | Provides statistics about which regions are hot. |
| [`TIDB_INDEXES`](/information-schema/information-schema-tidb-indexes.md) | Provides index information about TiDB tables. |
| [`TIDB_SERVERS_INFO`](/information-schema/information-schema-tidb-servers-info.md) | Provides a list of TiDB servers (namely, tidb-server component) |
+| [`TIDB_TRX`](/information-schema/information-schema-tidb-trx.md) | Provides the information of the transactions that are being executed on the TiDB node. |
| [`TIFLASH_REPLICA`](/information-schema/information-schema-tiflash-replica.md) | Provides details about TiFlash replicas. |
| [`TIKV_REGION_PEERS`](/information-schema/information-schema-tikv-region-peers.md) | Provides details about where regions are stored. |
| [`TIKV_REGION_STATUS`](/information-schema/information-schema-tikv-region-status.md) | Provides statistics about regions. |
diff --git a/tidb-configuration-file.md b/tidb-configuration-file.md
index 200fa8402ad01..345267c2151be 100644
--- a/tidb-configuration-file.md
+++ b/tidb-configuration-file.md
@@ -614,6 +614,13 @@ For pessimistic transaction usage, refer to [TiDB Pessimistic Transaction Mode](
- The maximum number of retries of each statement in pessimistic transactions. If the number of retries exceeds this limit, an error occurs.
- Default value: `256`
+### deadlock-history-capacity
+
++ The maximum number of deadlock events that can be recorded in the [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) table of a single TiDB server. If this table is in full volume and an additional deadlock event occurs, the earliest record in the table will be removed to make place for the newest error.
++ Default value: `10`
++ Minimum value: `0`
++ Maximum value: `10000`
+
## experimental
The `experimental` section, introduced in v3.1.0, describes configurations related to the experimental features of TiDB.
diff --git a/troubleshoot-lock-conflicts.md b/troubleshoot-lock-conflicts.md
index f12e7084b0c04..16646e062855f 100644
--- a/troubleshoot-lock-conflicts.md
+++ b/troubleshoot-lock-conflicts.md
@@ -204,7 +204,7 @@ Solutions:
* If the above error occurs frequently, it is recommended to adjust the application logic.
#### TTL manager has timed out
-
+
The transaction execution time can not exceed the GC time limit. In addition, the TTL time of pessimistic transactions has an upper limit, whose default value is 1 hour. Therefore, a pessimistic transaction executed for more than 1 hour will fail to commit. This timeout threshold is controlled by the TiDB parameter [performance.max-txn-ttl](https://github.com/pingcap/tidb/blob/master/config/config.toml.example).
When the execution time of a pessimistic transaction exceeds the TTL time, the following error message occurs in the TiDB log:
@@ -215,7 +215,7 @@ TTL manager has timed out, pessimistic locks may expire, please commit or rollba
Solutions:
-* First, confirm whether the application logic can be optimized. For example, large transactions may trigger TiDB's transaction size limit, which can be split into multiple small transactions.
+* First, confirm whether the application logic can be optimized. For example, large transactions may trigger TiDB's transaction size limit, which can be split into multiple small transactions.
* Also, you can adjust the related parameters properly to meet the application transaction logic.
#### Deadlock found when trying to get lock
@@ -230,4 +230,148 @@ When a pessimistic transaction has a deadlock, one of the transactions must be t
Solutions:
-* The application needs to adjust transaction request logic when there too many deadlocks.
+* If it is difficult to confirm the cause of the deadlock, for v5.1 and later versions, you are recommended to try to query the `INFORMATION_SCHEMA.DEADLOCKS` or `INFORMATION_SCHEMA.CLUSTER_DEADLOCKS` system table to get the information of deadlock waiting chain. For details, see the [Deadlock errors](#deadlock-errors) section and the [`DEADLOCKS` table](/information-schema/information-schema-deadlocks.md) document.
+* If the deadlock occurs frequently, you need to adjust the transaction query logic in your application to reduce such occurrences.
+
+### Use Lock View to troubleshoot issues related to pessimistic locks
+
+Since v5.1, TiDB supports the Lock View feature. This feature has several system tables built in `information_schema` that provide more information about the pessimistic lock conflicts and pessimistic lock waitings. For the detailed introduction of these tables, see the following documents:
+
+* [`TIDB_TRX` and `CLUSTER_TIDB_TRX`](/information-schema/information-schema-tidb-trx.md): Provides information of all running transactions on the current TiDB node or in the entire cluster, including whether the transaction is in the lock-waiting state, the lock-waiting time, and the digests of statements that have been executed in the transaction.
+* [`DATA_LOCK_WAITS`](/information-schema/information-schema-data-lock-waits.md): Provides the pessimistic lock-waiting information in TiKV, including the `start_ts` of the blocking and blocked transaction, the digest of the blocked SQL statement, and the key on which the waiting occurs.
+* [`DEADLOCKS` and `CLUSTER_DEADLOCKS`](/information-schema/information-schema-deadlocks.md): Provides the information of several deadlock events that have recently occurred on the current TiDB node or in the entire cluster, including the waiting relationship among transactions in the deadlock loops, the digest of the statement currently being executed in the transaction, and the key on which the waiting occurs.
+
+> **Warning:**
+>
+> Currently, this is an experimental feature. The definition and behavior of the table structure might have major changes in future releases.
+
+The following sections show the examples of troubleshooting some issues using these tables.
+
+#### Deadlock errors
+
+To get the information of the recent deadlock errors, you can query the `DEADLOCKS` or `CLUSTER_DEADLOCKS` table. For example:
+
+{{< copyable "sql" >}}
+
+```sql
+select * from information_schema.deadlocks;
+```
+
+```sql
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+| DEADLOCK_ID | OCCUR_TIME | RETRYABLE | TRY_LOCK_TRX_ID | CURRENT_SQL_DIGEST | KEY | TRX_HOLDING_LOCK |
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+| 1 | 2021-06-04 08:22:38.765699 | 0 | 425405959304904707 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000002 | 425405959304904708 |
+| 1 | 2021-06-04 08:22:38.765699 | 0 | 425405959304904708 | 22230766411edb40f27a68dadefc63c6c6970d5827f1e5e22fc97be2c4d8350d | 7480000000000000385F728000000000000001 | 425405959304904707 |
++-------------+----------------------------+-----------+--------------------+------------------------------------------------------------------+----------------------------------------+--------------------+
+```
+
+The query result above shows the waiting relationship among multiple transactions in the deadlock error, the digest of the SQL statement currently being executed in each transaction, and the key on which the conflict occurs.
+
+You can get the text of the normalized SQL statement corresponding to the digest of the SQL statements executed recently from the `STATEMENTS_SUMMARY` or `STATEMENTS_SUMMARY_HISTORY` table. For details, see [`STATEMENTS_SUMMARY` and `STATEMENTS_SUMMARY_HISTORY` tables](/statement-summary-tables.md). You can also join the obtained results directly with the `DEADLOCKS` table. Note that the `STATEMENTS_SUMMARY` table might not contain the information of all SQL statements, so left join is used in the following example:
+
+{{< copyable "sql" >}}
+
+```sql
+select l.deadlock_id, l.occur_time, l.try_lock_trx_id, l.trx_holding_lock, s.digest_text from information_schema.deadlocks as l left join information_schema.statements_summary as s on l.current_sql_digest = s.digest;
+```
+
+```sql
++-------------+----------------------------+--------------------+--------------------+-----------------------------------------+
+| deadlock_id | occur_time | try_lock_trx_id | trx_holding_lock | digest_text |
++-------------+----------------------------+--------------------+--------------------+-----------------------------------------+
+| 1 | 2021-06-04 08:22:38.765699 | 425405959304904707 | 425405959304904708 | update `t` set `v` = ? where `id` = ? ; |
+| 1 | 2021-06-04 08:22:38.765699 | 425405959304904708 | 425405959304904707 | update `t` set `v` = ? where `id` = ? ; |
++-------------+----------------------------+--------------------+--------------------+-----------------------------------------+
+```
+
+#### A few hot keys cause queueing locks
+
+The `DATA_LOCK_WAITS` system table provides the lock-waiting status on the TiKV nodes. When you query this table, TiDB automatically obtains the real-time lock-waiting information from all TiKV nodes. If a few hot keys are frequently locked and block many transactions, you can query the `DATA_LOCK_WAITS` table and aggregate the results by key to try to find the keys on which issues frequently occur:
+
+{{< copyable "sql" >}}
+
+```sql
+select `key`, count(*) as `count` from information_schema.data_lock_waits group by `key` order by `count` desc;
+```
+
+```sql
++----------------------------------------+-------+
+| key | count |
++----------------------------------------+-------+
+| 7480000000000000415f728000000000000001 | 2 |
+| 7480000000000000415f728000000000000002 | 1 |
++----------------------------------------+-------+
+```
+
+To avoid contingency, you might need to make multiple queries.
+
+If you know the key that frequently has issues occurred, you can try to get the information of the transaction that tries to lock the key from the `TIDB_TRX` or `CLUSTER_TIDB_TRX` table.
+
+Note that the information displayed in the `TIDB_TRX` and `CLUSTER_TIDB_TRX` tables is also the information of the transactions that are running at the time the query is performed. These tables do not display the information of the completed transactions. If there is a large number of concurrent transactions, the result set of the query might also be large. You can use the `limit` clause or the `where` clause to filter out transactions with a long lock-waiting time. Note that when you join multiple tables in Lock View, the data in different tables might not be obtained at the same time, so the information in different tables might not be consistent.
+
+{{< copyable "sql" >}}
+
+```sql
+select trx.* from information_schema.data_lock_waits as l left join information_schema.tidb_trx as trx on l.trx_id = trx.id where l.key = "7480000000000000415f728000000000000001"\G
+```
+
+```sql
+*************************** 1. row ***************************
+ ID: 425496938634543111
+ START_TIME: 2021-06-08 08:46:48.341000
+CURRENT_SQL_DIGEST: a4e28cc182bdd18288e2a34180499b9404cd0ba07e3cc34b6b3be7b7c2de7fe9
+ STATE: LockWaiting
+WAITING_START_TIME: 2021-06-08 08:46:48.388024
+ MEM_BUFFER_KEYS: 1
+ MEM_BUFFER_BYTES: 19
+ SESSION_ID: 87
+ USER: root
+ DB: test
+ ALL_SQL_DIGESTS: [0fdc781f19da1c6078c9de7eadef8a307889c001e05f107847bee4cfc8f3cdf3, a4e28cc182bdd18288e2a34180499b9404cd0
+ba07e3cc34b6b3be7b7c2de7fe9, a4e28cc182bdd18288e2a34180499b9404cd0ba07e3cc34b6b3be7b7c2de7fe9]
+*************************** 2. row ***************************
+ ID: 425496940994101249
+ START_TIME: 2021-06-08 08:46:57.342000
+CURRENT_SQL_DIGEST: a4e28cc182bdd18288e2a34180499b9404cd0ba07e3cc34b6b3be7b7c2de7fe9
+ STATE: LockWaiting
+WAITING_START_TIME: 2021-06-08 08:46:57.590060
+ MEM_BUFFER_KEYS: 0
+ MEM_BUFFER_BYTES: 0
+ SESSION_ID: 85
+ USER: root
+ DB: test
+ ALL_SQL_DIGESTS: [0fdc781f19da1c6078c9de7eadef8a307889c001e05f107847bee4cfc8f3cdf3, a4e28cc182bdd18288e2a34180499b9404cd0
+ba07e3cc34b6b3be7b7c2de7fe9]
+2 rows in set (0.00 sec)
+```
+
+#### A transaction is blocked for a long time
+
+If a transaction is known to be blocked by another transaction (or multiple transactions) and the `start_ts` (transaction ID) of the current transaction is known, you can use the following method to obtain the information of the blocking transaction. Note that when you join multiple tables in Lock View, the data in different tables might not be obtained at the same time, so the information in different tables might not be consistent.
+
+{{< copyable "sql" >}}
+
+```sql
+select l.key, trx.* from information_schema.data_lock_waits as l join information_schema.tidb_trx as trx on l.current_holding_trx_id = trx.id where l.trx_id = 425497223886536705\G
+```
+
+```sql
+*************************** 1. row ***************************
+ key: 7480000000000000475f728000000000000002
+ ID: 425497219115778059
+ START_TIME: 2021-06-08 09:04:38.292000
+CURRENT_SQL_DIGEST: a4e28cc182bdd18288e2a34180499b9404cd0ba07e3cc34b6b3be7b7c2de7fe9
+ STATE: LockWaiting
+WAITING_START_TIME: 2021-06-08 09:04:38.336264
+ MEM_BUFFER_KEYS: 1
+ MEM_BUFFER_BYTES: 19
+ SESSION_ID: 97
+ USER: root
+ DB: test
+ ALL_SQL_DIGESTS: [0fdc781f19da1c6078c9de7eadef8a307889c001e05f107847bee4cfc8f3cdf3, a4e28cc182bdd18288e2a34180499b9404cd0
+ba07e3cc34b6b3be7b7c2de7fe9, a4e28cc182bdd18288e2a34180499b9404cd0ba07e3cc34b6b3be7b7c2de7fe9]
+1 row in set (0.01 sec)
+```
+
+If the `start_ts` of the current transaction is unknown, you can try to find it out from the information in the `TIDB_TRX` / `CLUSTER_TIDB_TRX` table or in the [`PROCESSLIST` / `CLUSTER_PROCESSLIST`](/information-schema/information-schema-processlist.md) table.
From 92ffdf78f93b78e6b21a6aa18a7dbef7828490b4 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Wed, 23 Jun 2021 16:53:23 +0800
Subject: [PATCH 005/127] Fix typos (#5827) (#5828)
---
sql-statements/sql-statement-with.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sql-statements/sql-statement-with.md b/sql-statements/sql-statement-with.md
index a47896c2002a5..4b486c0b3fad8 100644
--- a/sql-statements/sql-statement-with.md
+++ b/sql-statements/sql-statement-with.md
@@ -11,7 +11,7 @@ A Common Table Expression (CTE) is a temporary result set that can be referred m
**WithClause:**
-``` ebnf
+```ebnf
WithClause ::=
"WITH" WithList
| "WITH" recursive WithList
@@ -19,7 +19,7 @@ WithClause ::=
**WithList:**
-``` ebnf
+```ebnf
WithList ::=
WithList ',' CommonTableExpr
| CommonTableExpr
@@ -27,14 +27,14 @@ WithList ::=
**CommonTableExpr:**
-``` ebnf
+```ebnf
CommonTableExpr ::=
Identifier IdentListWithParenOpt "AS" SubSelect
```
**IdentListWithParenOpt:**
-``` ebnf
+```ebnf
IdentListWithParenOpt ::=
| '(' IdentList ')'
From a9838d9164233f84cb8d0e4004c42cc9d68ef0c7 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Wed, 23 Jun 2021 17:03:23 +0800
Subject: [PATCH 006/127] add document about stale read transaction (#5809)
(#5829)
---
TOC.md | 7 +-
as-of-timestamp.md | 261 ++++++++++++++++++
best-practices/three-dc-local-read.md | 29 ++
read-historical-data.md | 20 +-
sql-statements/sql-statement-select.md | 8 +-
.../sql-statement-set-transaction.md | 21 +-
.../sql-statement-start-transaction.md | 7 +-
stale-read.md | 25 ++
8 files changed, 359 insertions(+), 19 deletions(-)
create mode 100644 as-of-timestamp.md
create mode 100644 best-practices/three-dc-local-read.md
create mode 100644 stale-read.md
diff --git a/TOC.md b/TOC.md
index 8268439165f6c..9e14fa83323bb 100644
--- a/TOC.md
+++ b/TOC.md
@@ -64,7 +64,6 @@
+ [BR Use Cases](/br/backup-and-restore-use-cases.md)
+ [External Storages](/br/backup-and-restore-storages.md)
+ [BR FAQ](/br/backup-and-restore-faq.md)
- + [Read Historical Data](/read-historical-data.md)
+ [Configure Time Zone](/configure-time-zone.md)
+ [Daily Checklist](/daily-check.md)
+ [Maintain TiFlash](/tiflash/maintain-tiflash.md)
@@ -141,6 +140,11 @@
+ Tutorials
+ [Multiple Data Centers in One City Deployment](/multi-data-centers-in-one-city-deployment.md)
+ [Three Data Centers in Two Cities Deployment](/three-data-centers-in-two-cities-deployment.md)
+ + Read Historical Data
+ + Use Stale Read (Recommended)
+ + [Usage Scenarios of Stale Read](/stale-read.md)
+ + [Perform Stale Read Using `As OF TIMESTAMP`](/as-of-timestamp.md)
+ + [Use the `tidb_snapshot` System Variable](/read-historical-data.md)
+ Best Practices
+ [Use TiDB](/best-practices/tidb-best-practices.md)
+ [Java Application Development](/best-practices/java-app-best-practices.md)
@@ -150,6 +154,7 @@
+ [PD Scheduling](/best-practices/pd-scheduling-best-practices.md)
+ [TiKV Performance Tuning with Massive Regions](/best-practices/massive-regions-best-practices.md)
+ [Three-node Hybrid Deployment](/best-practices/three-nodes-hybrid-deployment.md)
+ + [Local Read Under Three Data Centers Deployment](/best-practices/three-dc-local-read.md)
+ [Use Placement Rules](/configure-placement-rules.md)
+ [Use Load Base Split](/configure-load-base-split.md)
+ [Use Store Limit](/configure-store-limit.md)
diff --git a/as-of-timestamp.md b/as-of-timestamp.md
new file mode 100644
index 0000000000000..58d851d0cbd89
--- /dev/null
+++ b/as-of-timestamp.md
@@ -0,0 +1,261 @@
+---
+title: Read Historical Data Using the `AS OF TIMESTAMP` Clause
+summary: Learn how to read historical data using the `AS OF TIMESTAMP` statement clause.
+---
+
+# Read Historical Data Using the `AS OF TIMESTAMP` Clause
+
+This document describes how to perform the [Stale Read](/stale-read.md) feature using the `AS OF TIMESTAMP` clause to read historical data in TiDB, including specific usage examples and strategies for saving historical data.
+
+TiDB supports reading historical data through a standard SQL interface, which is the `AS OF TIMESTAMP` SQL clause, without the need for special clients or drivers. After data is updated or deleted, you can read the historical data before the update or deletion using this SQL interface.
+
+> **Note:**
+>
+> When reading historical data, TiDB returns the data with the old table structure even if the current table structure is different.
+
+## Syntax
+
+You can use the `AS OF TIMESTAMP` clause in the following three ways:
+
+- [`SELECT ... FROM ... AS OF TIMESTAMP`](/sql-statements/sql-statement-select.md)
+- [`START TRANSACTION READ ONLY AS OF TIMESTAMP`](/sql-statements/sql-statement-start-transaction.md)
+- [`SET TRANSACTION READ ONLY AS OF TIMESTAMP`](/sql-statements/sql-statement-set-transaction.md)
+
+If you want to specify an exact point of time, you can set a datetime value or use a time function in the `AS OF TIMESTAMP` clause. The format of datetime is like "2016-10-08 16:45:26.999", with millisecond as the minimum time unit, but for most of the time, the time unit of second is enough for specifying a datetime, such as "2016-10-08 16:45:26". You can also get the current time to the millisecond using the `NOW(3)` function. If you want to read the data of several seconds ago, it is **recommended** to use an expression such as `NOW() - INTERVAL 10 SECOND`.
+
+If you want to specify a time range, you can use the `TIDB_BOUNDED_STALENESS()` function in the clause. When this function is used, TiDB selects a suitable timestamp within the specified time range. "Suitable" means there are no transactions that start before this timestamp and have not been committed on the accessed replica, that is, TiDB can perform read operations on the accessed replica and the read operations are not blocked. You need to use `TIDB_BOUNDED_STALENESS(t1, t2)` to call this function. `t1` and `t2` are the two ends of the time range, which can be specified using either datetime values or time functions.
+
+Here are some examples of the `AS OF TIMESTAMP` clause:
+
+- `AS OF TIMESTAMP '2016-10-08 16:45:26'`: Tells TiDB to read the latest data stored at 16:45:26 on October 8, 2016.
+- `AS OF TIMESTAMP NOW() - INTERVAL 10 SECOND`: Tells TiDB to read the latest data stored 10 seconds ago.
+- `AS OF TIMESTAMP TIDB_BOUNDED_STALENESS('2016-10-08 16:45:26', '2016-10-08 16:45:29')`: Tells TiDB to read the data as new as possible within the time range of 16:45:26 to 16:45:29 on October 8, 2016.
+- `AS OF TIMESTAMP TIDB_BOUNDED_STALENESS(NOW() - INTERVAL 20 SECOND, NOW())`: Tells TiDB to read the data as new as possible within the time range of 20 seconds ago to the present.
+
+Note that in addition to specifying a timestamp, the most common use of the `AS OF TIMESTAMP` clause is to read data that is several seconds old. If this approach is used, it is recommended to read historical data older than 5 seconds.
+
+## Usage examples
+
+This section describes different ways to use the `AS OF TIMESTAMP` clause with several examples. It first introduces how to prepare the data for recovery, and then shows how to use `AS OF TIMESTAMP` in `SELECT`, `START TRANSACTION READ ONLY AS OF TIMESTAMP`, and `SET TRANSACTION READ ONLY AS OF TIMESTAMP` respectively.
+
+### Prepare data sample
+
+To prepare data for recovery, create a table first and insert several rows of data:
+
+```sql
+create table t (c int);
+```
+
+```
+Query OK, 0 rows affected (0.01 sec)
+```
+
+```sql
+insert into t values (1), (2), (3);
+```
+
+```
+Query OK, 3 rows affected (0.00 sec)
+```
+
+View the data in the table:
+
+```sql
+select * from t;
+```
+
+```
++------+
+| c |
++------+
+| 1 |
+| 2 |
+| 3 |
++------+
+3 rows in set (0.00 sec)
+```
+
+View the current time:
+
+```sql
+select now();
+```
+
+```
++---------------------+
+| now() |
++---------------------+
+| 2021-05-26 16:45:26 |
++---------------------+
+1 row in set (0.00 sec)
+```
+
+Update the data in a row:
+
+```sql
+update t set c=22 where c=2;
+```
+
+```
+Query OK, 1 row affected (0.00 sec)
+```
+
+Confirm that the data of the row is updated:
+
+```sql
+select * from t;
+```
+
+```
++------+
+| c |
++------+
+| 1 |
+| 22 |
+| 3 |
++------+
+3 rows in set (0.00 sec)
+```
+
+### Read historical data using the `SELECT` statement
+
+You can use the [`SELECT ... FROM ... AS OF TIMESTAMP`](/sql-statements/sql-statement-select.md) statement to read data from a time point in the past.
+
+```sql
+select * from t as of timestamp '2021-05-26 16:45:26';
+```
+
+```
++------+
+| c |
++------+
+| 1 |
+| 2 |
+| 3 |
++------+
+3 rows in set (0.00 sec)
+```
+
+> **Note:**
+>
+> When reading multiple tables using one `SELECT` statement, you need to make sure that the format of TIMESTAMP EXPRESSIONs is consistent. For example, `select * from t as of timestamp NOW() - INTERVAL 2 SECOND, c as of timestamp NOW() - INTERVAL 2 SECOND;`. In addition, you must specify the `AS OF` information for the relevant table in the `SELECT` statement; otherwise, the `SELECT` statement reads the latest data by default.
+
+### Read historical data using the `START TRANSACTION READ ONLY AS OF TIMESTAMP` statement
+
+You can use the [`START TRANSACTION READ ONLY AS OF TIMESTAMP`](/sql-statements/sql-statement-start-transaction.md) statement to start a read-only transaction based on a time point in the past. The transaction reads historical data of the given time.
+
+```sql
+start transaction read only as of timestamp '2021-05-26 16:45:26';
+```
+
+```
+Query OK, 0 rows affected (0.00 sec)
+```
+
+```sql
+select * from t;
+```
+
+```
++------+
+| c |
++------+
+| 1 |
+| 2 |
+| 3 |
++------+
+3 rows in set (0.00 sec)
+```
+
+```sql
+commit;
+```
+
+```
+Query OK, 0 rows affected (0.00 sec)
+```
+
+After the transaction is committed, you can read the latest data.
+
+```sql
+select * from t;
+```
+
+```
++------+
+| c |
++------+
+| 1 |
+| 22 |
+| 3 |
++------+
+3 rows in set (0.00 sec)
+```
+
+> **Note:**
+>
+> If you start a transaction with the statement `START TRANSACTION READ ONLY AS OF TIMESTAMP`, it is a read-only transaction. Write operations are rejected in this transaction.
+
+### Read historical data using the `SET TRANSACTION READ ONLY AS OF TIMESTAMP` statement
+
+You can use the [`SET TRANSACTION READ ONLY AS OF TIMESTAMP`](/sql-statements/sql-statement-set-transaction.md) statement to set the next transaction as a read-only transaction based on a specified time point in the past. The transaction reads historical data of the given time.
+
+```sql
+set transaction read only as of timestamp '2021-05-26 16:45:26';
+```
+
+```
+Query OK, 0 rows affected (0.00 sec)
+```
+
+```sql
+begin;
+```
+
+```
+Query OK, 0 rows affected (0.00 sec)
+```
+
+```sql
+select * from t;
+```
+
+```
++------+
+| c |
++------+
+| 1 |
+| 2 |
+| 3 |
++------+
+3 rows in set (0.00 sec)
+```
+
+```sql
+commit;
+```
+
+```
+Query OK, 0 rows affected (0.00 sec)
+```
+
+After the transaction is committed, you can read the latest data.
+
+```sql
+select * from t;
+```
+
+```
++------+
+| c |
++------+
+| 1 |
+| 22 |
+| 3 |
++------+
+3 rows in set (0.00 sec)
+```
+
+> **Note:**
+>
+> If you start a transaction with the statement `SET TRANSACTION READ ONLY AS OF TIMESTAMP`, it is a read-only transaction. Write operations are rejected in this transaction.
diff --git a/best-practices/three-dc-local-read.md b/best-practices/three-dc-local-read.md
new file mode 100644
index 0000000000000..b404757df4ed6
--- /dev/null
+++ b/best-practices/three-dc-local-read.md
@@ -0,0 +1,29 @@
+---
+title: Local Read under Three Data Centers Deployment
+summary: Learn how to use the Stale Read feature to read local data under three DCs deployment and thus reduce cross-center requests.
+---
+
+# Local Read under Three Data Centers Deployment
+
+In the model of three data centers, a Region has three replicas which are isolated in each data center. However, due to the requirement of strongly consistent read, TiDB must access the Leader replica of the corresponding data for every query. If the query is generated in a data center different from that of the Leader replica, TiDB needs to read data from another data center, thus causing the access latency to increase.
+
+This document describes how to use the [Stale Read](/stale-read.md) feature to avoid cross-center access and reduce the access latency at the expense of real-time data availability.
+
+## Deploy a TiDB cluster of three data centers
+
+For the three-data-center deployment method, refer to [Multiple Data Centers in One City Deployment](/multi-data-centers-in-one-city-deployment.md).
+
+Note that if both the TiKV and TiDB nodes have the configuration item `labels` configured, the TiKV and TiDB nodes in the same data center must have the same value for the `zone` label. For example, if a TiKV node and a TiDB node are both in the data center `dc-1`, then the two nodes need to be configured with the following label:
+
+```
+[labels]
+zone=dc-1
+```
+
+## Perform local read using Stale Read
+
+[Stale Read](/stale-read.md) is a mechanism that TiDB provides for the users to read historical data. Using this mechanism, you can read the corresponding historical data of a specific point in time or within a specified time range, and thus save the latency brought by data replication between storage nodes. When using Stale Read in some scenarios of geo-distributed deployment, TiDB accesses the replica in the current data center to read the corresponding data at the expense of some real-time performance, which avoids network latency brought by cross-center connection and reduces the access latency for the entire query process.
+
+When TiDB receives a Stale Read query, if the `zone` label of that TiDB node is configured, then TiDB sends the request to the TiKV node with the same `zone` label where the corresponding data replica resides.
+
+For how to perform Stale Read, see [Perform Stale Read using the `AS OF TIMESTAMP` clause](/as-of-timestamp.md).
diff --git a/read-historical-data.md b/read-historical-data.md
index 5d1a6f8651299..823955239f294 100644
--- a/read-historical-data.md
+++ b/read-historical-data.md
@@ -1,18 +1,24 @@
---
-title: Read Historical Data
-summary: Learn about how TiDB reads data from history versions.
+title: Read Historical Data Using the System Variable `tidb_snapshot`
+summary: Learn about how TiDB reads data from history versions using the system variable `tidb_snapshot`.
---
-# Read Historical Data
+# Read Historical Data Using the System Variable `tidb_snapshot`
-This document describes how TiDB reads data from the history versions, how TiDB manages the data versions, as well as an example to show how to use the feature.
+This document describes how to read data from the history versions using the system variable `tidb_snapshot`, including specific usage examples and strategies for saving historical data.
+
+> **Note:**
+>
+> You can also use the [Stale Read](/stale-read.md) feature to read historical data, which is more recommended.
## Feature description
-TiDB implements a feature to read history data using the standard SQL interface directly without special clients or drivers. By using this feature:
+TiDB implements a feature to read history data using the standard SQL interface directly without special clients or drivers.
-- Even when data is updated or removed, its history versions can be read using the SQL interface.
-- Even if the table structure changes after the data is updated, TiDB can use the old structure to read the history data.
+> **Note:**
+>
+> - Even when data is updated or removed, its history versions can be read using the SQL interface.
+> - When reading historical data, TiDB returns the data with the old table structure even if the current table structure is different.
## How TiDB reads data from history versions
diff --git a/sql-statements/sql-statement-select.md b/sql-statements/sql-statement-select.md
index 37492d3c4330b..395ddc78bb245 100644
--- a/sql-statements/sql-statement-select.md
+++ b/sql-statements/sql-statement-select.md
@@ -31,7 +31,13 @@ The `SELECT` statement is used to read data from TiDB.
**TableRefsClause:**
-
+```ebnf+diagram
+TableRefsClause ::=
+ TableRef AsOfClause? ( ',' TableRef AsOfClause? )*
+
+AsOfClause ::=
+ 'AS' 'OF' 'TIMESTAMP' Expression
+```
**WhereClauseOptional:**
diff --git a/sql-statements/sql-statement-set-transaction.md b/sql-statements/sql-statement-set-transaction.md
index e3801abfb0fac..acb08f235404a 100644
--- a/sql-statements/sql-statement-set-transaction.md
+++ b/sql-statements/sql-statement-set-transaction.md
@@ -9,17 +9,22 @@ The `SET TRANSACTION` statement can be used to change the current isolation leve
## Synopsis
-**SetStmt:**
+```ebnf+diagram
+SetStmt ::=
+ 'SET' ( VariableAssignmentList |
+ 'PASSWORD' ('FOR' Username)? '=' PasswordOpt |
+ ( 'GLOBAL'| 'SESSION' )? 'TRANSACTION' TransactionChars |
+ 'CONFIG' ( Identifier | stringLit) ConfigItemName EqOrAssignmentEq SetExpr )
-
+TransactionChars ::=
+ ( 'ISOLATION' 'LEVEL' IsolationLevel | 'READ' 'WRITE' | 'READ' 'ONLY' AsOfClause? )
-**TransactionChar:**
+IsolationLevel ::=
+ ( 'REPEATABLE' 'READ' | 'READ' ( 'COMMITTED' | 'UNCOMMITTED' ) | 'SERIALIZABLE' )
-
-
-**IsolationLevel:**
-
-
+AsOfClause ::=
+ ( 'AS' 'OF' 'TIMESTAMP' Expression)
+```
## Examples
diff --git a/sql-statements/sql-statement-start-transaction.md b/sql-statements/sql-statement-start-transaction.md
index b1d2260e2d1ed..a885dc24912b2 100644
--- a/sql-statements/sql-statement-start-transaction.md
+++ b/sql-statements/sql-statement-start-transaction.md
@@ -14,9 +14,12 @@ In the absence of a `START TRANSACTION` statement, every statement will by defau
**BeginTransactionStmt:**
```ebnf+diagram
-BeginTransactionStmt ::=
+BeginTransactionStmt ::=
'BEGIN' ( 'PESSIMISTIC' | 'OPTIMISTIC' )?
-| 'START' 'TRANSACTION' ( 'READ' ( 'WRITE' | 'ONLY' ( 'WITH' 'TIMESTAMP' 'BOUND' TimestampBound )? ) | 'WITH' 'CONSISTENT' 'SNAPSHOT' | 'WITH' 'CAUSAL' 'CONSISTENCY' 'ONLY' )?
+| 'START' 'TRANSACTION' ( 'READ' ( 'WRITE' | 'ONLY' ( ( 'WITH' 'TIMESTAMP' 'BOUND' TimestampBound )? | AsOfClause ) ) | 'WITH' 'CONSISTENT' 'SNAPSHOT' | 'WITH' 'CAUSAL' 'CONSISTENCY' 'ONLY' )?
+
+AsOfClause ::=
+ ( 'AS' 'OF' 'TIMESTAMP' Expression)
```
## Examples
diff --git a/stale-read.md b/stale-read.md
new file mode 100644
index 0000000000000..00ee16e10e35c
--- /dev/null
+++ b/stale-read.md
@@ -0,0 +1,25 @@
+---
+title: Usage Scenarios of Stale Read
+summary: Learn about Stale Read and its usage scenarios.
+---
+
+# Usage Scenarios of Stale Read
+
+This document describes the usage scenarios of Stale Read. Stale Read is a mechanism that TiDB applies to read historical versions of data stored in TiDB. Using this mechanism, you can read the corresponding historical data of a specific point in time or within a specified time range, and thus save the latency brought by data replication between storage nodes.
+
+In terms of the internal implementation, Stale Read allows TiDB to read from any replica the data of the specified point in time or the data as new as possible within the specified time range, and to always ensure the data consistency constraint during the reading process.
+
+## Scenario examples
+
++ Scenario one: If a transaction only involves read operations and is tolerant of data staleness to some extent, you can use Stale Read to get historical data. Using Stale Read, TiDB sends the query requests to any replica of the corresponding data at the expense of some real-time performance, and thus increases the throughput of query executions.
+
++ Scenario two: In some scenarios where small tables are queried, if strongly consistent reads are used, data might be concentrated on a certain storage node, causing the query pressure to be concentrated on that node as well. Therefore, that node might become a bottleneck for the whole query. With Stale Read, TiDB distributes the query requests to each replica of the corresponding data, which can improve the overall query throughput and significantly improve the query performance.
+
++ Scenario three: In some scenarios of geo-distributed deployment, if strongly consistent follower reads are used, to make sure that the data read from the Followers is consistent with that stored in the Leader, TiDB requests `Readindex` from different data centers for verification, which increases the access latency for the whole query process. With Stale Read, TiDB accesses the replica in the current data center to read the corresponding data at the expense of some real-time performance, which avoids network latency brought by cross-center connection and reduces the access latency for the entire query. For more information, see [Local Read under Three Data Centers Deployment](/best-practices/three-dc-local-read.md).
+
+## Usages
+
+In TiDB, you can specify either an exact point in time or a time range when performing stale reads:
+
+- Specifying an exact point in time (recommended): If you need TiDB to read data that follows the global transaction consistency from a specific point in time without damaging the isolation level, you can specify the corresponding timestamp of that point in time in the query statement. For detailed usage, see [`AS OF TIMESTAMP` Clause](/as-of-timestamp.md#syntax).
+- Specifying a time range: If you need TiDB to read data as new as possible within a time range without damaging the isolation level, you can specify the time range in the query statement. Then, TiDB selects a suitable timestamp within the specified time range to read the corresponding data. "Suitable" means there are no transactions that start before this timestamp and have not been committed on the accessed replica, that is, TiDB can perform read operations on the accessed replica and the read operations are not blocked. For detailed usage, refer to the introduction of the [`AS OF TIMESTAMP` clause](/as-of-timestamp.md#syntax) and the [`TIDB_BOUNDED_STALENESS` function](/as-of-timestamp.md#syntax).
From 10e91bf49cc00cc6ce6bd6b9a0abe6b78c4b0ac7 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Wed, 23 Jun 2021 17:53:22 +0800
Subject: [PATCH 007/127] Delete docker deployment docs (#5830) (#5832)
---
deploy-test-cluster-using-docker-compose.md | 184 -----------------
dev-guide/deploy.md | 2 +-
faq/deploy-and-maintain-faq.md | 4 -
test-deployment-using-docker.md | 212 --------------------
4 files changed, 1 insertion(+), 401 deletions(-)
delete mode 100644 deploy-test-cluster-using-docker-compose.md
delete mode 100644 test-deployment-using-docker.md
diff --git a/deploy-test-cluster-using-docker-compose.md b/deploy-test-cluster-using-docker-compose.md
deleted file mode 100644
index 9594cb9339a22..0000000000000
--- a/deploy-test-cluster-using-docker-compose.md
+++ /dev/null
@@ -1,184 +0,0 @@
----
-title: TiDB Docker Compose Deployment
-summary: Use Docker Compose to quickly deploy a TiDB testing cluster.
----
-
-# TiDB Docker Compose Deployment
-
-> **Warning:**
->
-> The Docker Compose deployment method provided in this document is no longer maintained. If you want to test TiDB, it is recommended to refer to [Quick Start Guide for the TiDB Database Platform](/quick-start-with-tidb.md) for deployment. For **production environment**, **do not use** Docker Compose for deployment, but [deploy TiDB with TiUP](/production-deployment-using-tiup.md) or [TiDB Operator in Kubernetes](https://docs.pingcap.com/tidb-in-kubernetes/stable/deploy-tidb-operator).
-
-This document describes how to quickly deploy a TiDB testing cluster with a single command using [Docker Compose](https://docs.docker.com/compose/overview).
-
-With Docker Compose, you can use a YAML file to configure application services in multiple containers. Then, with a single command, you can create and start all the services from your configuration.
-
-## Prerequisites
-
-Make sure you have installed the following items on your machine:
-
-- [Git](https://git-scm.com/downloads)
-- [Docker Compose](https://docs.docker.com/compose/install/)
-- [MySQL Client](https://dev.mysql.com/downloads/mysql/)
-
-## Deploy TiDB using Docker Compose
-
-1. Download `tidb-docker-compose`.
-
- ```bash
- git clone https://github.com/pingcap/tidb-docker-compose.git
- ```
-
-2. Change the directory to tidb-docker-compose and get the latest TiDB Docker Images:
-
- ```bash
- cd tidb-docker-compose && docker-compose pull
- ```
-
-3. Start the TiDB cluster:
-
- ```bash
- docker-compose up -d
- ```
-
-4. Use the MySQL client to connect to TiDB to read and write data:
-
- ```
- mysql -h 127.0.0.1 -P 4000 -u root
- ```
-
-## Monitor the cluster
-
-After you have successfully deployed a TiDB cluster, you can now monitor the TiDB cluster using one of the following methods:
-
-- Use Grafana to view the status of the cluster via [http://localhost:3000](http://localhost:3000) with the default account name and password: `admin` and `admin`.
-- Use [TiDB-Vision](https://github.com/pingcap/tidb-vision), a cluster visualization tool, to see data transfer and load-balancing inside your cluster via [http://localhost:8010](http://localhost:8010).
-
-## Customize the cluster
-
-After the deployment is completed, the following components are deployed by default:
-
-- 3 PD instances, 3 TiKV instances, 1 TiDB instance
-- Monitoring components: Prometheus, Pushgateway, Grafana
-- Data visualization component: tidb-vision
-
-To customize the cluster, you can edit the `docker-compose.yml` file directly. It is recommended to generate `docker-compose.yml` using the [Helm](https://helm.sh) template engine, because manual editing is tedious and error-prone.
-
-1. Install Helm.
-
- [Helm](https://helm.sh) can be used as a template rendering engine. Make sure your Helm version >= 2.9.0 and < 3.0.0.
-
- To use Helm, you only need to download its binary file:
-
- ```bash
- curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
- ```
-
- For macOS, you can also install Helm using the following command in Homebrew:
-
- ```bash
- brew install helm@2
- brew link --force helm@2
- ```
-
-2. Download `tidb-docker-compose`.
-
- ```bash
- git clone https://github.com/pingcap/tidb-docker-compose.git
- ```
-
-3. Customize the cluster.
-
- ```bash
- cd tidb-docker-compose
- vim compose/values.yaml # custom the cluster size, docker image, port mapping and so on
- ```
-
- You can modify the configuration in `values.yaml`, such as the cluster size, TiDB image version, and so on.
-
- [tidb-vision](https://github.com/pingcap/tidb-vision) is the data visualization interface of the TiDB cluster, used to visually display the PD scheduling on TiKV data. If you do not need this component, comment out the `tidbVision` section.
-
- For PD, TiKV, TiDB and tidb-vision, you can build Docker images from GitHub source code or local files for development and testing.
-
- - To build PD, TiKV or TiDB images from the locally compiled binary file, you need to comment out the `image` field and copy the compiled binary file to the corresponding `pd/bin/pd-server`, `tikv/bin/tikv-server`, `tidb/bin/tidb-server`.
- - To build the tidb-vision image from local, you need to comment out the `image` field and copy the tidb-vision project to `tidb-vision/tidb-vision`.
-
-4. Generate the `docker-compose.yml` file.
-
- ```bash
- helm template compose > generated-docker-compose.yml
- ```
-
-5. Create and start the cluster using the generated `docker-compose.yml` file.
-
- ```bash
- docker-compose -f generated-docker-compose.yml pull # Get the latest Docker images
- docker-compose -f generated-docker-compose.yml up -d
- ```
-
-6. Access the cluster.
-
- ```bash
- mysql -h 127.0.0.1 -P 4000 -u root
- ```
-
- Access the Grafana monitoring interface:
-
- - Default address:
- - Default account name: admin
- - Default password: admin
-
- If tidb-vision is enabled, you can access the cluster data visualization interface: .
-
-## Access the Spark shell and load TiSpark
-
-Insert some sample data to the TiDB cluster:
-
-```bash
-$ docker-compose exec tispark-master bash
-$ cd /opt/spark/data/tispark-sample-data
-$ mysql -h tidb -P 4000 -u root < dss.ddl
-```
-
-After the sample data is loaded into the TiDB cluster, you can access the Spark shell using `docker-compose exec tispark-master /opt/spark/bin/spark-shell`.
-
-```bash
-$ docker-compose exec tispark-master /opt/spark/bin/spark-shell
-...
-Spark context available as 'sc' (master = local[*], app id = local-1527045927617).
-Spark session available as 'spark'.
-Welcome to
- ____ __
- / __/__ ___ _____/ /__
- _\ \/ _ \/ _ `/ __/ '_/
- /___/ .__/\_,_/_/ /_/\_\ version 2.1.1
- /_/
-
-Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_172)
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> import org.apache.spark.sql.TiContext
-...
-scala> val ti = new TiContext(spark)
-...
-scala> ti.tidbMapDatabase("TPCH_001")
-...
-scala> spark.sql("select count(*) from lineitem").show
-+--------+
-|count(1)|
-+--------+
-| 60175|
-+--------+
-```
-
-You can also access Spark with Python or R using the following commands:
-
-```
-docker-compose exec tispark-master /opt/spark/bin/pyspark
-docker-compose exec tispark-master /opt/spark/bin/sparkR
-```
-
-For more details about TiSpark, see [TiSpark Quick Start Guide](/get-started-with-tispark.md).
-
-Here is [a 5-minute tutorial](https://pingcap.com/blog/how_to_spin_up_an_htap_database_in_5_minutes_with_tidb_tispark/) for macOS users that shows how to spin up a standard TiDB cluster using Docker Compose on your local computer.
diff --git a/dev-guide/deploy.md b/dev-guide/deploy.md
index 3abd6f965896b..8a9a89e6796e6 100644
--- a/dev-guide/deploy.md
+++ b/dev-guide/deploy.md
@@ -5,7 +5,7 @@ draft: true
# Build for Deployment
-The easiest way to deploy TiDB is to use Docker Compose, see [TiDB Docker Compose Deployment](/deploy-test-cluster-using-docker-compose.md). For more deployment methods, see [TiDB deployment methods](/_index.md).
+The easiest way to deploy TiDB is to use Docker Compose, see .
## Before you begin
diff --git a/faq/deploy-and-maintain-faq.md b/faq/deploy-and-maintain-faq.md
index 8e81c5901e28c..0e8a79dbe9158 100644
--- a/faq/deploy-and-maintain-faq.md
+++ b/faq/deploy-and-maintain-faq.md
@@ -104,10 +104,6 @@ Check the time difference between the machine time of the monitor and the time w
| `enable_slow_query_log` | to record the slow query log of TiDB into a single file: ({{ deploy_dir }}/log/tidb_slow_query.log). False by default, to record it into the TiDB log |
| `deploy_without_tidb` | the Key-Value mode, deploy only PD, TiKV and the monitoring service, not TiDB; set the IP of the tidb_servers host group to null in the `inventory.ini` file |
-### How to deploy TiDB quickly using Docker Compose on a single machine?
-
-You can use Docker Compose to build a TiDB cluster locally, including the cluster monitoring components. You can also customize the version and number of instances for each component. The configuration file can also be customized. You can only use this deployment method for testing and development environment. For details, see [TiDB Docker Compose Deployment](/deploy-test-cluster-using-docker-compose.md).
-
### How to separately record the slow query log in TiDB? How to locate the slow query SQL statement?
1. The slow query definition for TiDB is in the TiDB configuration file. The `slow-threshold: 300` parameter is used to configure the threshold value of the slow query (unit: millisecond).
diff --git a/test-deployment-using-docker.md b/test-deployment-using-docker.md
deleted file mode 100644
index 56ec2f04d4e6f..0000000000000
--- a/test-deployment-using-docker.md
+++ /dev/null
@@ -1,212 +0,0 @@
----
-title: Deploy TiDB Using Docker
-summary: Use Docker to manually deploy a multi-node TiDB cluster on multiple machines.
----
-
-# Deploy TiDB Using Docker
-
-> **Warning:**
->
-> The Docker deployment method provided in this document is no longer maintained. If you want to test TiDB, it is recommended to refer to [Quick Start Guide for the TiDB Database Platform](/quick-start-with-tidb.md) for deployment. For **production environment**, **do not use** Docker Compose for deployment, but [deploy TiDB with TiUP](/production-deployment-using-tiup.md) or [TiDB Operator in Kubernetes](https://docs.pingcap.com/tidb-in-kubernetes/stable/deploy-tidb-operator).
-
-This document shows you how to manually deploy a multi-node TiDB cluster on multiple machines using Docker.
-
-To learn more, see [TiDB architecture](/tidb-architecture.md) and [Software and Hardware Recommendations](/hardware-and-software-requirements.md).
-
-## Preparation
-
-Before you start, make sure that you have:
-
-+ Installed the latest version of [Docker](https://www.docker.com/products/docker)
-+ Pulled the latest images of TiDB, TiKV and PD from [Docker Hub](https://hub.docker.com/u/pingcap). If not, pull the images using the following commands:
-
- ```bash
- docker pull pingcap/tidb:latest
- docker pull pingcap/tikv:latest
- docker pull pingcap/pd:latest
- ```
-
-## Multi nodes deployment
-
-Assume we have 6 machines with the following details:
-
-| Host Name | IP | Services | Data Path |
-| --------- | ------------- | ---------- | --------- |
-| **host1** | 192.168.1.101 | PD1 & TiDB | /data |
-| **host2** | 192.168.1.102 | PD2 | /data |
-| **host3** | 192.168.1.103 | PD3 | /data |
-| **host4** | 192.168.1.104 | TiKV1 | /data |
-| **host5** | 192.168.1.105 | TiKV2 | /data |
-| **host6** | 192.168.1.106 | TiKV3 | /data |
-
-### 1. Start PD
-
-Start PD1 on the **host1**
-
-```bash
-docker run -d --name pd1 \
- -p 2379:2379 \
- -p 2380:2380 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- pingcap/pd:latest \
- --name="pd1" \
- --data-dir="/data/pd1" \
- --client-urls="http://0.0.0.0:2379" \
- --advertise-client-urls="http://192.168.1.101:2379" \
- --peer-urls="http://0.0.0.0:2380" \
- --advertise-peer-urls="http://192.168.1.101:2380" \
- --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380"
-```
-
-Start PD2 on the **host2**
-
-```bash
-docker run -d --name pd2 \
- -p 2379:2379 \
- -p 2380:2380 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- pingcap/pd:latest \
- --name="pd2" \
- --data-dir="/data/pd2" \
- --client-urls="http://0.0.0.0:2379" \
- --advertise-client-urls="http://192.168.1.102:2379" \
- --peer-urls="http://0.0.0.0:2380" \
- --advertise-peer-urls="http://192.168.1.102:2380" \
- --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380"
-```
-
-Start PD3 on the **host3**
-
-```bash
-docker run -d --name pd3 \
- -p 2379:2379 \
- -p 2380:2380 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- pingcap/pd:latest \
- --name="pd3" \
- --data-dir="/data/pd3" \
- --client-urls="http://0.0.0.0:2379" \
- --advertise-client-urls="http://192.168.1.103:2379" \
- --peer-urls="http://0.0.0.0:2380" \
- --advertise-peer-urls="http://192.168.1.103:2380" \
- --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380"
-```
-
-### 2. Start TiKV
-
-Start TiKV1 on the **host4**
-
-```bash
-docker run -d --name tikv1 \
- -p 20160:20160 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- pingcap/tikv:latest \
- --addr="0.0.0.0:20160" \
- --advertise-addr="192.168.1.104:20160" \
- --data-dir="/data/tikv1" \
- --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379"
-```
-
-Start TiKV2 on the **host5**
-
-```bash
-docker run -d --name tikv2 \
- -p 20160:20160 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- pingcap/tikv:latest \
- --addr="0.0.0.0:20160" \
- --advertise-addr="192.168.1.105:20160" \
- --data-dir="/data/tikv2" \
- --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379"
-```
-
-Start TiKV3 on the **host6**
-
-```bash
-docker run -d --name tikv3 \
- -p 20160:20160 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- pingcap/tikv:latest \
- --addr="0.0.0.0:20160" \
- --advertise-addr="192.168.1.106:20160" \
- --data-dir="/data/tikv3" \
- --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379"
-```
-
-### 3. Start TiDB
-
-Start TiDB on the **host1**
-
-```bash
-docker run -d --name tidb \
- -p 4000:4000 \
- -p 10080:10080 \
- -v /etc/localtime:/etc/localtime:ro \
- pingcap/tidb:latest \
- --store=tikv \
- --path="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379"
-```
-
-### 4. Use the MySQL client to connect to TiDB
-
-Install the [MySQL client](http://dev.mysql.com/downloads/mysql/) on **host1** and run:
-
-```bash
-$ mysql -h 127.0.0.1 -P 4000 -u root -D test
-mysql> show databases;
-+--------------------+
-| Database |
-+--------------------+
-| INFORMATION_SCHEMA |
-| PERFORMANCE_SCHEMA |
-| mysql |
-| test |
-+--------------------+
-4 rows in set (0.00 sec)
-```
-
-### How to customize the configuration file
-
-The TiKV and PD can be started with a specified configuration file, which includes some advanced parameters, for the performance tuning.
-
-Assume that the path to configuration file of PD and TiKV on the host is `/path/to/config/pd.toml` and `/path/to/config/tikv.toml`
-
-You can start TiKV and PD as follows:
-
-```bash
-docker run -d --name tikv1 \
- -p 20160:20160 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- -v /path/to/config/tikv.toml:/tikv.toml:ro \
- pingcap/tikv:latest \
- --addr="0.0.0.0:20160" \
- --advertise-addr="192.168.1.104:20160" \
- --data-dir="/data/tikv1" \
- --pd="192.168.1.101:2379,192.168.1.102:2379,192.168.1.103:2379" \
- --config="/tikv.toml"
-```
-
-```bash
-docker run -d --name pd1 \
- -p 2379:2379 \
- -p 2380:2380 \
- -v /etc/localtime:/etc/localtime:ro \
- -v /data:/data \
- -v /path/to/config/pd.toml:/pd.toml:ro \
- pingcap/pd:latest \
- --name="pd1" \
- --data-dir="/data/pd1" \
- --client-urls="http://0.0.0.0:2379" \
- --advertise-client-urls="http://192.168.1.101:2379" \
- --peer-urls="http://0.0.0.0:2380" \
- --advertise-peer-urls="http://192.168.1.101:2380" \
- --initial-cluster="pd1=http://192.168.1.101:2380,pd2=http://192.168.1.102:2380,pd3=http://192.168.1.103:2380" \
- --config="/pd.toml"
-```
From 41af2b57969c64e44bdb0c302c263c2817ad2543 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Thu, 24 Jun 2021 11:03:23 +0800
Subject: [PATCH 008/127] Fix ebnf display (#5833) (#5834)
---
sql-statements/sql-statement-with.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sql-statements/sql-statement-with.md b/sql-statements/sql-statement-with.md
index 4b486c0b3fad8..60ea11cdb144c 100644
--- a/sql-statements/sql-statement-with.md
+++ b/sql-statements/sql-statement-with.md
@@ -11,7 +11,7 @@ A Common Table Expression (CTE) is a temporary result set that can be referred m
**WithClause:**
-```ebnf
+```ebnf+diagram
WithClause ::=
"WITH" WithList
| "WITH" recursive WithList
@@ -19,7 +19,7 @@ WithClause ::=
**WithList:**
-```ebnf
+```ebnf+diagram
WithList ::=
WithList ',' CommonTableExpr
| CommonTableExpr
@@ -27,14 +27,14 @@ WithList ::=
**CommonTableExpr:**
-```ebnf
+```ebnf+diagram
CommonTableExpr ::=
Identifier IdentListWithParenOpt "AS" SubSelect
```
**IdentListWithParenOpt:**
-```ebnf
+```ebnf+diagram
IdentListWithParenOpt ::=
| '(' IdentList ')'
From a966936b9813b63b08058d270e198745767fa7ed Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Thu, 24 Jun 2021 11:13:23 +0800
Subject: [PATCH 009/127] tidb-configuration-file: add
graceful-wait-before-shutdown (#5825) (#5836)
---
tidb-configuration-file.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tidb-configuration-file.md b/tidb-configuration-file.md
index 345267c2151be..2010051ea9599 100644
--- a/tidb-configuration-file.md
+++ b/tidb-configuration-file.md
@@ -170,6 +170,12 @@ The TiDB configuration file supports more options than command-line parameters.
+ Default value: `true`
+ When this configuration value is `true`, the maximum length of a single `ENUM` element and a single `SET` element is 255 characters, which is compatible with [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html). When this configuration value is `false`, there is no limit on the length of a single element, which is compatible with TiDB (earlier than v5.0).
+#### `graceful-wait-before-shutdown` New in v5.0
+
+- Specifies the number of seconds that TiDB waits when you shut down the server, which allows the clients to disconnect.
+- Default value: `0`
+- When TiDB is waiting for shutdown (in the grace period), the HTTP status will indicate a failure, which allows the load balancers to reroute traffic.
+
## Log
Configuration items related to log.
From 57be14d042c3410515a6e424afb6000efe4a2e20 Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Thu, 24 Jun 2021 11:29:23 +0800
Subject: [PATCH 010/127] lightning: fix a lightning config bug (#5820) (#5837)
---
migrate-from-aurora-using-lightning.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/migrate-from-aurora-using-lightning.md b/migrate-from-aurora-using-lightning.md
index f2c982510cfd8..26106d74a839a 100644
--- a/migrate-from-aurora-using-lightning.md
+++ b/migrate-from-aurora-using-lightning.md
@@ -56,7 +56,7 @@ Based on different deployment methods, edit the `tidb-lighting.toml` configurati
[mydumper]
no-schema = true
- [mydumper.files]
+ [[mydumper.files]]
# Uses single quoted strings to avoid escaping.
pattern = '(?i)^(?:[^/]*/)*([a-z0-9_]+)\.([a-z0-9_]+)/(?:[^/]*/)*(?:[a-z0-9\-_.]+\.(parquet))$'
schema = '$1'
From 55f61acb2ef7193737c4b2ca2d1048317725434d Mon Sep 17 00:00:00 2001
From: TomShawn <41534398+TomShawn@users.noreply.github.com>
Date: Thu, 24 Jun 2021 16:31:24 +0800
Subject: [PATCH 011/127] change docs configs to release-5.1 (#5817)
---
.circleci/config.yml | 16 ++++++++--------
.github/workflows/dispatch.yml | 2 +-
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 949e1028799dc..fa2e2f77e9278 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -22,13 +22,13 @@ jobs:
git remote add upstream https://github.com/pingcap/docs.git
git fetch upstream
wget https://raw.githubusercontent.com/CharLotteiu/pingcap-docs-checks/main/check-file-encoding.py
- python3 check-file-encoding.py $(git diff-tree --name-only --no-commit-id -r upstream/master..HEAD -- '*.md' ':(exclude).github/*')
+ python3 check-file-encoding.py $(git diff-tree --name-only --no-commit-id -r upstream/release-5.1..HEAD -- '*.md' ':(exclude).github/*')
- run:
name: "Check git conflicts"
command: |
wget https://raw.githubusercontent.com/CharLotteiu/pingcap-docs-checks/main/check-conflicts.py
- python3 check-conflicts.py $(git diff-tree --name-only --no-commit-id -r upstream/master..HEAD -- '*.md' '*.yml' '*.yaml')
+ python3 check-conflicts.py $(git diff-tree --name-only --no-commit-id -r upstream/release-5.1..HEAD -- '*.md' '*.yml' '*.yaml')
- run:
name: "Install markdownlint"
@@ -38,7 +38,7 @@ jobs:
- run:
name: "Lint edited files"
command: |
- markdownlint $(git diff-tree --name-only --no-commit-id -r upstream/master..HEAD -- '*.md' ':(exclude).github/*')
+ markdownlint $(git diff-tree --name-only --no-commit-id -r upstream/release-5.1..HEAD -- '*.md' ':(exclude).github/*')
- run:
name: "Check internal links"
@@ -54,19 +54,19 @@ jobs:
name: "Check control characters"
command: |
wget https://raw.githubusercontent.com/CharLotteiu/pingcap-docs-checks/main/check-control-char.py
- python3 check-control-char.py $(git diff-tree --name-only --no-commit-id -r upstream/master..HEAD -- '*.md' ':(exclude).github/*')
+ python3 check-control-char.py $(git diff-tree --name-only --no-commit-id -r upstream/release-5.1..HEAD -- '*.md' ':(exclude).github/*')
- run:
name: "Check unclosed tags"
command: |
wget https://raw.githubusercontent.com/CharLotteiu/pingcap-docs-checks/main/check-tags.py
- python3 check-tags.py $(git diff-tree --name-only --no-commit-id -r upstream/master..HEAD -- '*.md' ':(exclude).github/*')
+ python3 check-tags.py $(git diff-tree --name-only --no-commit-id -r upstream/release-5.1..HEAD -- '*.md' ':(exclude).github/*')
- run:
name: "Check manual line breaks"
command: |
wget https://raw.githubusercontent.com/CharLotteiu/pingcap-docs-checks/main/check-manual-line-breaks.py
- python3 check-manual-line-breaks.py $(git diff-tree --name-only --no-commit-id -r upstream/master..HEAD -- '*.md' ':(exclude).github/*')
+ python3 check-manual-line-breaks.py $(git diff-tree --name-only --no-commit-id -r upstream/release-5.1..HEAD -- '*.md' ':(exclude).github/*')
build:
docker:
@@ -101,7 +101,7 @@ jobs:
name: "Publish PDF to Qiniu and S3"
command: |
sudo bash -c 'echo "222.222.95.49 uc.qbox.me" >> /etc/hosts';
- if [ "${CIRCLE_BRANCH}" == "master" ]; then
+ if [ "${CIRCLE_BRANCH}" == "release-5.1" ]; then
python3 scripts/upload.py output.pdf tidb-dev-en-manual.pdf;
fi
@@ -123,4 +123,4 @@ workflows:
filters:
branches:
only:
- - master
+ - release-5.1
diff --git a/.github/workflows/dispatch.yml b/.github/workflows/dispatch.yml
index dbc0619e656ca..3aad9687a4b54 100644
--- a/.github/workflows/dispatch.yml
+++ b/.github/workflows/dispatch.yml
@@ -3,7 +3,7 @@ name: Repsitory dispatch workflow from docs
on:
push:
branches:
- - master
+ - release-5.1
jobs:
build:
From 3f5cb7f36ca3e6a5c3e72957d1ebe668809c7e9a Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Thu, 24 Jun 2021 17:23:24 +0800
Subject: [PATCH 012/127] Update content about upgrade (#5813) (#5841)
---
upgrade-tidb-using-tiup.md | 38 ++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)
diff --git a/upgrade-tidb-using-tiup.md b/upgrade-tidb-using-tiup.md
index e8206e415f13d..b0a8cf860249c 100644
--- a/upgrade-tidb-using-tiup.md
+++ b/upgrade-tidb-using-tiup.md
@@ -5,20 +5,26 @@ summary: Learn how to upgrade TiDB using TiUP.
# Upgrade TiDB Using TiUP
-This document is targeted for users who want to upgrade from TiDB 4.0 versions to TiDB 5.0 versions, or from TiDB 5.0 to a later version.
+This document is targeted for the following upgrade paths:
-If your cluster to upgrade is v3.1 or an earlier version (v3.0 or v2.1), you need to upgrade your cluster first to v4.0 and then to v5.0. You cannot upgrade your cluster across a major version or versions.
+- Upgrade from TiDB 4.0 versions to TiDB 5.1 versions.
+- Upgrade from TiDB 5.0 versions to TiDB 5.1 versions.
+
+> **Note:**
+>
+> If your cluster to be upgraded is v3.1 or an earlier version (v3.0 or v2.1), the direct upgrade to v5.1 or its patch versions is not supported. You need to upgrade your cluster first to v4.0 and then to v5.1.
## Upgrade caveat
-- After the upgrade, rolling back to 4.0 or earlier versions is not supported.
-- For the v4.0 cluster managed using TiDB Ansible, you need to import the cluster to TiUP (`tiup cluster`) for new management according to [Upgrade TiDB Using TiUP (v4.0)](https://docs.pingcap.com/tidb/v4.0/upgrade-tidb-using-tiup#import-tidb-ansible-and-the-inventoryini-configuration-to-tiup). Then you can upgrade the cluster to v5.0 according to this document.
-- To update versions earlier than 3.0 to 5.0:
+- TiDB currently does not support version downgrade or rolling back to an earlier version after the upgrade.
+- For the v4.0 cluster managed using TiDB Ansible, you need to import the cluster to TiUP (`tiup cluster`) for new management according to [Upgrade TiDB Using TiUP (v4.0)](https://docs.pingcap.com/tidb/v4.0/upgrade-tidb-using-tiup#import-tidb-ansible-and-the-inventoryini-configuration-to-tiup). Then you can upgrade the cluster to v5.1 or its patch versions according to this document.
+- To update versions earlier than 3.0 to 5.1:
1. Update this version to 3.0 using [TiDB Ansible](https://docs.pingcap.com/tidb/v3.0/upgrade-tidb-using-ansible).
2. Use TiUP (`tiup cluster`) to import the TiDB Ansible configuration.
3. Update the 3.0 version to 4.0 according to [Upgrade TiDB Using TiUP (v4.0)](https://docs.pingcap.com/tidb/v4.0/upgrade-tidb-using-tiup#import-tidb-ansible-and-the-inventoryini-configuration-to-tiup).
- 4. Then you can upgrade the cluster to v5.0 according to this document.
+ 4. Upgrade the cluster to v5.1 according to this document.
- Support upgrading the versions of TiDB Binlog, TiCDC, TiFlash, and other components.
+- For detailed compatibility changes of different versions, see the [Release Notes](/releases/release-notes.md) of each version. Modify your cluster configuration according to the "Compatibility Changes" section of the corresponding release notes.
> **Note:**
>
@@ -38,7 +44,7 @@ Before upgrading your TiDB cluster, you first need to upgrade TiUP or TiUP mirro
>
> If the control machine of the cluster to upgrade cannot access `https://tiup-mirrors.pingcap.com`, skip this section and see [Upgrade TiUP offline mirror](#upgrade-tiup-offline-mirror).
-1. Upgrade the TiUP version. It is recommended that the TiUP version is `1.4.0` or later.
+1. Upgrade the TiUP version. It is recommended that the TiUP version is `1.5.0` or later.
{{< copyable "shell-regular" >}}
@@ -47,7 +53,7 @@ Before upgrading your TiDB cluster, you first need to upgrade TiUP or TiUP mirro
tiup --version
```
-2. Upgrade the TiUP Cluster version. It is recommended that the TiUP Cluster version is `1.4.0` or later.
+2. Upgrade the TiUP Cluster version. It is recommended that the TiUP Cluster version is `1.5.0` or later.
{{< copyable "shell-regular" >}}
@@ -89,7 +95,7 @@ Now, the offline mirror has been upgraded successfully. If an error occurs durin
> Skip this step if one of the following situations applies:
>
> + You have not modified the configuration parameters of the original cluster. Or you have modified the configuration parameters using `tiup cluster` but no more modification is needed.
-> + After the upgrade, you want to use v5.0's default parameter values for the unmodified configuration items.
+> + After the upgrade, you want to use v5.1's default parameter values for the unmodified configuration items.
1. Enter the `vi` editing mode to edit the topology file:
@@ -105,9 +111,9 @@ Now, the offline mirror has been upgraded successfully. If an error occurs durin
> **Note:**
>
-> Before you upgrade the cluster to v5.0, make sure that the parameters you have modified in v4.0 are compatible in v5.0. For details, see [TiKV Configuration File](/tikv-configuration-file.md).
+> Before you upgrade the cluster to v5.1, make sure that the parameters you have modified in v4.0 are compatible in v5.1. For details, see [TiKV Configuration File](/tikv-configuration-file.md).
>
-> The following three TiKV parameters are obsolete in TiDB v5.0. If the following parameters have been configured in your original cluster, you need to delete these parameters through `edit-config`:
+> The following three TiKV parameters are obsolete in TiDB v5.1. If the following parameters have been configured in your original cluster, you need to delete these parameters through `edit-config`:
>
> - pessimistic-txn.enabled
> - server.request-batch-enable-cross-command
@@ -148,12 +154,12 @@ If your application has a maintenance window for the database to be stopped for
tiup cluster upgrade
```
-For example, if you want to upgrade the cluster to v5.0.0:
+For example, if you want to upgrade the cluster to v5.1.0:
{{< copyable "shell-regular" >}}
```shell
-tiup cluster upgrade v5.0.0
+tiup cluster upgrade v5.1.0
```
> **Note:**
@@ -203,7 +209,7 @@ tiup cluster display
```
Cluster type: tidb
Cluster name:
-Cluster version: v5.0.0
+Cluster version: v5.1.0
```
> **Note:**
@@ -253,10 +259,10 @@ You can upgrade the tool version by using TiUP to install the `ctl` component of
{{< copyable "shell-regular" >}}
```shell
-tiup install ctl:v5.0.0
+tiup install ctl:v5.1.0
```
## TiDB 5.1 compatibility changes
-- See TiDB 5.1 GA Release Notes for the compatibility changes.
+- See TiDB 5.1 Release Notes for the compatibility changes.
- Try to avoid creating a new clustered index table when you apply rolling updates to the clusters using TiDB-Binlog.
From 0ccfa07525ff8ab905f1ca1c692320b6ed6ab4fc Mon Sep 17 00:00:00 2001
From: Ti Chi Robot
Date: Thu, 24 Jun 2021 18:45:24 +0800
Subject: [PATCH 013/127] add v510 benchmark doc (#5842) (#5845)
---
TOC.md | 4 +-
.../benchmark-sysbench-v5.1.0-vs-v5.0.2.md | 185 ++++++++++++++++++
...v5.1-performance-benchmarking-with-tpcc.md | 92 +++++++++
media/sysbench_v510vsv502_point_select.png | Bin 0 -> 54802 bytes
media/sysbench_v510vsv502_read_write.png | Bin 0 -> 46682 bytes
media/sysbench_v510vsv502_update_index.png | Bin 0 -> 43746 bytes
.../sysbench_v510vsv502_update_non_index.png | Bin 0 -> 48026 bytes
media/tpcc_v510_vs_v502.png | Bin 0 -> 81823 bytes
8 files changed, 279 insertions(+), 2 deletions(-)
create mode 100644 benchmark/benchmark-sysbench-v5.1.0-vs-v5.0.2.md
create mode 100644 benchmark/v5.1-performance-benchmarking-with-tpcc.md
create mode 100644 media/sysbench_v510vsv502_point_select.png
create mode 100644 media/sysbench_v510vsv502_read_write.png
create mode 100644 media/sysbench_v510vsv502_update_index.png
create mode 100644 media/sysbench_v510vsv502_update_non_index.png
create mode 100644 media/tpcc_v510_vs_v502.png
diff --git a/TOC.md b/TOC.md
index 9e14fa83323bb..34ed2bf31cc10 100644
--- a/TOC.md
+++ b/TOC.md
@@ -11,8 +11,8 @@
+ [Basic Features](/basic-features.md)
+ [Experimental Features](/experimental-features.md)
+ Benchmarks
- + [v5.0 Sysbench Performance Test Report](/benchmark/benchmark-sysbench-v5-vs-v4.md)
- + [v5.0 TPC-C Performance Test Report](/benchmark/v5.0-performance-benchmarking-with-tpcc.md)
+ + [v5.1 Sysbench Performance Test Report](/benchmark/benchmark-sysbench-v5.1.0-vs-v5.0.2.md)
+ + [v5.1 TPC-C Performance Test Report](/benchmark/v5.1-performance-benchmarking-with-tpcc.md)
+ [v5.0 MPP mode TPC-H 100GB Performance Test](/benchmark/v5.0-performance-benchmarking-with-tpch.md)
+ [MySQL Compatibility](/mysql-compatibility.md)
+ [TiDB Limitations](/tidb-limitations.md)
diff --git a/benchmark/benchmark-sysbench-v5.1.0-vs-v5.0.2.md b/benchmark/benchmark-sysbench-v5.1.0-vs-v5.0.2.md
new file mode 100644
index 0000000000000..5e413d27b2b33
--- /dev/null
+++ b/benchmark/benchmark-sysbench-v5.1.0-vs-v5.0.2.md
@@ -0,0 +1,185 @@
+---
+title: TiDB Sysbench Performance Test Report -- v5.1.0 vs. v5.0.2
+---
+
+# TiDB Sysbench Performance Test Report -- v5.1.0 vs. v5.0.2
+
+## Test overview
+
+This test aims at comparing the Sysbench performance of TiDB v5.1.0 and TiDB v5.0.2 in the Online Transactional Processing (OLTP) scenario. The results show that compared with v5.0.2, the Point Select performance of v5.1.0 is improved by 19.4%, and the performance of the Read Write and Update Index is slightly reduced.
+
+## Test environment (AWS EC2)
+
+### Hardware configuration
+
+| Service type | EC2 type | Instance count |
+|:----------|:----------|:----------|
+| PD | m5.xlarge | 3 |
+| TiKV | i3.4xlarge| 3 |
+| TiDB | c5.4xlarge| 3 |
+| Sysbench | c5.9xlarge| 1 |
+
+### Software version
+
+| Service type | Software version |
+|:----------|:-----------|
+| PD | v5.0.2 and v5.1.0 |
+| TiDB | v5.0.2 and v5.1.0 |
+| TiKV | v5.0.2 and v5.1.0 |
+| Sysbench | 1.0.20 |
+
+### Parameter configuration
+
+TiDB v5.1.0 and TiDB v5.0.2 use the same configuration.
+
+#### TiDB parameter configuration
+
+{{< copyable "" >}}
+
+```yaml
+log.level: "error"
+performance.max-procs: 20
+prepared-plan-cache.enabled: true
+tikv-client.max-batch-wait-time: 2000000
+```
+
+#### TiKV parameter configuration
+
+{{< copyable "" >}}
+
+```yaml
+storage.scheduler-worker-pool-size: 5
+raftstore.store-pool-size: 3
+raftstore.apply-pool-size: 3
+rocksdb.max-background-jobs: 8
+raftdb.max-background-jobs: 4
+raftdb.allow-concurrent-memtable-write: true
+server.grpc-concurrency: 6
+readpool.unified.min-thread-count: 5
+readpool.unified.max-thread-count: 20
+readpool.storage.normal-concurrency: 10
+pessimistic-txn.pipelined: true
+server.enable-request-batch: false
+```
+
+#### TiDB global variable configuration
+
+{{< copyable "sql" >}}
+
+```sql
+set global tidb_hashagg_final_concurrency=1;
+set global tidb_hashagg_partial_concurrency=1;
+set global tidb_enable_async_commit = 1;
+set global tidb_enable_1pc = 1;
+set global tidb_guarantee_linearizability = 0;
+set global tidb_enable_clustered_index = 1;
+```
+
+## Test plan
+
+1. Deploy TiDB v5.1.0 and v5.0.2 using TiUP.
+2. Use Sysbench to import 16 tables, each table with 10 million rows of data.
+3. Execute the `analyze table` statement on each table.
+4. Back up the data used for restore before different concurrency tests, which ensures data consistency for each test.
+5. Start the Sysbench client to perform the `point_select`, `read_write`, `update_index`, and `update_non_index` tests. Perform stress tests on TiDB via HAProxy. The test takes 5 minutes.
+6. After each type of test is completed, stop the cluster, overwrite the cluster with the backup data in step 4, and restart the cluster.
+
+### Prepare test data
+
+Execute the following command to prepare the test data:
+
+{{< copyable "shell-regular" >}}
+
+```bash
+sysbench oltp_common \
+ --threads=16 \
+ --rand-type=uniform \
+ --db-driver=mysql \
+ --mysql-db=sbtest \
+ --mysql-host=$aws_nlb_host \
+ --mysql-port=$aws_nlb_port \
+ --mysql-user=root \
+ --mysql-password=password \
+ prepare --tables=16 --table-size=10000000
+```
+
+### Perform the test
+
+Execute the following command to perform the test:
+
+{{< copyable "shell-regular" >}}
+
+```bash
+sysbench $testname \
+ --threads=$threads \
+ --time=300 \
+ --report-interval=1 \
+ --rand-type=uniform \
+ --db-driver=mysql \
+ --mysql-db=sbtest \
+ --mysql-host=$aws_nlb_host \
+ --mysql-port=$aws_nlb_port \
+ run --tables=16 --table-size=10000000
+```
+
+## Test results
+
+### Point Select performance
+
+| Threads | v5.0.2 QPS | v5.0.2 95% latency (ms) | v5.1.0 QPS | v5.1.0 95% latency (ms) | QPS improvement |
+|:----------|:----------|:----------|:----------|:----------|:----------|
+|150|137732.27|1.86|158861.67|2|15.34%|
+|300|201420.58|2.91|238038.44|2.71|18.18%|
+|600|303631.52|3.49|428573.21|2.07|41.15%|
+|900|383628.13|3.55|464863.22|3.89|21.18%|
+|1200|391451.54|5.28|413656.74|13.46|5.67%|
+|1500|410276.93|7.43|471418.78|10.65|14.90%|
+
+Compared with v5.0.2, the Point Select performance of v5.1.0 is improved by 19.4%.
+
+
+
+### Update Non-index performance
+
+| Threads | v5.0.2 QPS | v5.0.2 95% latency (ms) | v5.1.0 QPS | v5.1.0 95% latency (ms) | QPS improvement |
+|:----------|:----------|:----------|:----------|:----------|:----------|
+|150|29248.2|7.17|29362.7|8.13|0.39%|
+|300|40316.09|12.52|39651.52|13.7|-1.65%|
+|600|51011.11|22.28|47047.9|27.66|-7.77%|
+|900|58814.16|27.66|59331.84|28.67|0.88%|
+|1200|65286.52|32.53|67745.39|31.37|3.77%|
+|1500|68300.86|39.65|67899.17|44.17|-0.59%|
+
+Compared with v5.0.2, the Update Non-index performance of v5.1.0 is reduced by 0.8%.
+
+
+
+### Update Index performance
+
+| Threads | v5.0.2 QPS | v5.0.2 95% latency (ms) | v5.1.0 QPS | v5.1.0 95% latency (ms) | QPS improvement |
+|:----------|:----------|:----------|:----------|:----------|:----------|
+|150|15066.54|14.73|14829.31|14.73|-1.57%|
+|300|18535.92|24.83|17401.01|29.72|-6.12%|
+|600|22862.73|41.1|21923.78|44.98|-4.11%|
+|900|25286.74|57.87|24916.76|58.92|-1.46%|
+|1200|27566.18|70.55|27800.62|69.29|0.85%|
+|1500|28184.76|92.42|28679.72|86|1.76%|
+
+Compared with v5.0.2, the Update Index performance of v5.1.0 is reduced by 1.8%.
+
+
+
+### Read Write performance
+
+| Threads | v5.0.2 QPS | v5.0.2 95% latency (ms) | v5.1.0 QPS | v5.1.0 95% latency (ms) | QPS improvement |
+|:----------|:----------|:----------|:----------|:----------|:----------|
+|150|66415.33|56.84|66591.49|57.87|0.27%|
+|300|82488.39|97.55|81226.41|101.13|-1.53%|
+|600|99195.36|173.58|97357.86|179.94|-1.85%|
+|900|107382.76|253.35|101665.95|267.41|-5.32%|
+|1200|112389.23|337.94|107426.41|350.33|-4.42%|
+|1500|113548.73|450.77|109805.26|442.73|-3.30%|
+
+Compared with v5.0.2, the Read Write performance of v5.1.0 is reduced by 2.7%.
+
+
diff --git a/benchmark/v5.1-performance-benchmarking-with-tpcc.md b/benchmark/v5.1-performance-benchmarking-with-tpcc.md
new file mode 100644
index 0000000000000..fa66d5db2f2b2
--- /dev/null
+++ b/benchmark/v5.1-performance-benchmarking-with-tpcc.md
@@ -0,0 +1,92 @@
+---
+title: TiDB TPC-C Performance Test Report -- v5.1.0 vs. v5.0.2
+---
+
+# TiDB TPC-C Performance Test Report -- v5.1.0 vs. v5.0.2
+
+## Test overview
+
+This test aims to compare the TPC-H performance of TiDB v5.1.0 and TiDB v5.0.2 in the online analytical processing (OLAP) scenario. The results show that compared with v5.0.2, the TPC-C performance of v5.1.0 is improved by 2.8%.
+
+## Test environment (AWS EC2)
+
+## Hardware configuration
+
+| Service type | EC2 type | Instance count |
+|:----------|:----------|:----------|
+| PD | m5.xlarge | 3 |
+| TiKV | i3.4xlarge| 3 |
+| TiDB | c5.4xlarge| 3 |
+| TPC-C | c5.9xlarge| 1 |
+
+### Software version
+
+| Service type | Software version |
+|:----------|:-----------|
+| PD | v5.0.2 and v5.1.0 |
+| TiDB | v5.0.2 and v5.1.0 |
+| TiKV | v5.0.2 and v5.1.0 |
+| TiUP | 1.5.1 |
+
+### Parameter configuration
+
+TiDB v5.1.0 and TiDB v5.0.2 use the same configuration.
+
+#### TiDB parameter configuration
+
+{{< copyable "" >}}
+
+```yaml
+log.level: "error"
+performance.max-procs: 20
+prepared-plan-cache.enabled: true
+tikv-client.max-batch-wait-time: 2000000
+```
+
+#### TiKV parameter configuration
+
+{{< copyable "" >}}
+
+```yaml
+pessimistic-txn.pipelined: true
+raftdb.allow-concurrent-memtable-write: true
+raftdb.max-background-jobs: 4
+raftstore.apply-max-batch-size: 2048
+raftstore.apply-pool-size: 3
+raftstore.store-max-batch-size: 2048
+raftstore.store-pool-size: 3
+readpool.storage.normal-concurrency: 10
+readpool.unified.max-thread-count: 20
+readpool.unified.min-thread-count: 5
+rocksdb.max-background-jobs: 8
+server.grpc-concurrency: 6
+storage.scheduler-worker-pool-size: 20
+server.enable-request-batch: false
+```
+
+#### TiDB global variable configuration
+
+{{{< copyable "sql" >}}
+
+```sql
+set global tidb_hashagg_final_concurrency=1;
+set global tidb_hashagg_partial_concurrency=1;
+set global tidb_enable_async_commit = 1;
+set global tidb_enable_1pc = 1;
+set global tidb_guarantee_linearizability = 0;
+set global tidb_enable_clustered_index = 1;
+```
+
+## Test plan
+
+1. Deploy TiDB v5.1.0 and v5.0.2 using TiUP.
+2. Create a database named `tpcc`: `create database tpcc;`.
+3. Use BenchmarkSQL to import the TPC-C 5000 Warehouse data: `tiup bench tpcc prepare --warehouse 5000 --db tpcc -H 127.0.0.1 -p 4000`.
+4. Execute the `tiup bench tpcc run -U root --db tpcc --host 127.0.0.1 --port 4000 --time 300s --warehouses 5000 --threads {{thread}}` command to perform stress tests on TiDB via HAProxy.
+5. Extract the tpmC data of New Order from the result.
+
+## Test result
+
+Compared with v5.0.2, the TPC-C performance of v5.1.0 is **improved by 2.8%**.
+
+
diff --git a/media/sysbench_v510vsv502_point_select.png b/media/sysbench_v510vsv502_point_select.png
new file mode 100644
index 0000000000000000000000000000000000000000..257ecde394d5dee7aa4637a6075c9021de5ad5fb
GIT binary patch
literal 54802
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
3f2UFpTjGC7MjhKFo@lH
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