From ab8c0b563c73297807fdd76fbb22dfbf9d3740b3 Mon Sep 17 00:00:00 2001 From: Keke Yi <40977455+yikeke@users.noreply.github.com> Date: Wed, 13 May 2020 23:16:04 +0800 Subject: [PATCH] *: simplify all file directories for master (#3092) * *: simplify all file directories * update deadlink * fix 2 dead links caused by two deleted files Co-authored-by: Qiang Zhou --- TOC.md | 804 +++++++++--------- _index.md | 10 +- reference/alert-rules.md => alert-rules.md | 2 +- .../auto-random.md => auto-random.md | 4 +- ...up-and-restore-using-mydumper-lightning.md | 14 +- .../explore-sql.md => basic-sql-operations.md | 2 +- ...ysbench-v2.md => benchmark-sysbench-v2.md} | 0 ...ysbench-v3.md => benchmark-sysbench-v3.md} | 0 ...ch.md => benchmark-tidb-using-sysbench.md} | 4 +- ...n-tpcc.md => benchmark-tidb-using-tpcc.md} | 6 +- benchmark/{tpch.md => benchmark-tpch.md} | 0 ...ine-workloads-and-add-index-operations.md} | 0 benchmark/sysbench.md | 210 ----- benchmark/tpch-v2.md | 105 --- ...performance-benchmarking-with-sysbench.md} | 0 ...3.0-performance-benchmarking-with-tpcc.md} | 0 ...4.0-performance-benchmarking-with-tpcc.md} | 0 .../grafana-monitor-best-practices.md | 2 +- .../haproxy-best-practices.md | 0 .../high-concurrency-best-practices.md | 14 +- .../java-app-best-practices.md | 0 .../massive-regions-best-practices.md | 4 +- .../pd-scheduling-best-practices.md | 4 +- .../br/br.md => br/backup-and-restore-tool.md | 8 +- .../backup-and-restore-use-cases.md | 14 +- ...cation.md => certificate-authentication.md | 0 ...ation.md => character-set-and-collation.md | 2 +- ...eck-cluster-status-using-sql-statements.md | 18 +- ...command-line-flags-for-pd-configuration.md | 0 ...mmand-line-flags-for-tidb-configuration.md | 2 +- ...mmand-line-flags-for-tikv-configuration.md | 0 .../comment-syntax.md => comment-syntax.md | 2 +- ...ry-control.md => configure-memory-usage.md | 0 ...t-rules.md => configure-placement-rules.md | 2 +- .../time-zone.md => configure-time-zone.md | 0 ...orted-clients.md => connectors-and-apis.md | 0 .../sql/constraints.md => constraints.md | 2 +- ...-and-time.md => data-type-date-and-time.md | 0 ...t-values.md => data-type-default-values.md | 0 .../data-types/json.md => data-type-json.md | 2 +- .../numeric.md => data-type-numeric.md | 0 .../overview.md => data-type-overview.md | 2 +- .../string.md => data-type-string.md | 0 ...eploy-test-cluster-using-docker-compose.md | 4 +- ...download.md => download-ecosystem-tools.md | 10 +- ...r-guide.md => ecosystem-tool-user-guide.md | 18 +- ...nts.md => enable-tls-between-components.md | 6 +- ...ncrypted-connections-with-tls-protocols.md | 12 +- reference/error-codes.md => error-codes.md | 8 +- ...-plan-bind.md => execution-plan-binding.md | 4 +- ...pression-syntax.md => expression-syntax.md | 0 faq/{tidb.md => tidb-faq.md} | 88 +- faq/{upgrade.md => upgrade-faq.md} | 0 .../follower-read.md => follower-read.md | 0 .../aggregate-group-by-functions.md | 2 +- .../bit-functions-and-operators.md | 0 .../cast-functions-and-operators.md | 0 .../control-flow-functions.md | 0 .../date-and-time-functions.md | 0 .../encryption-and-compression-functions.md | 0 .../expressions-pushed-down.md | 14 +- .../functions-and-operators-overview.md | 2 +- .../information-functions.md | 0 .../json-functions.md | 0 .../miscellaneous-functions.md | 0 .../numeric-functions-and-operators.md | 0 .../operators.md | 0 .../precision-math.md | 0 .../string-functions.md | 0 ...ype-conversion-in-expression-evaluation.md | 0 .../window-functions.md | 0 ....md => garbage-collection-configuration.md | 8 +- ...rview.md => garbage-collection-overview.md | 2 +- ...md => generate-self-signed-certificates.md | 0 ...nerated-columns.md => generated-columns.md | 4 +- ...verview.md => geo-redundancy-deployment.md | 0 ...nlog.md => get-started-with-tidb-binlog.md | 4 +- ...g.md => get-started-with-tidb-lightning.md | 6 +- .../tispark.md => get-started-with-tispark.md | 2 +- ...hboard.md => grafana-overview-dashboard.md | 2 +- ...pd-dashboard.md => grafana-pd-dashboard.md | 2 +- ...-dashboard.md => grafana-tidb-dashboard.md | 2 +- ...-dashboard.md => grafana-tikv-dashboard.md | 2 +- ...d => hardware-and-software-requirements.md | 2 +- how-to/scale/horizontally.md | 132 --- ...ueries.md => identify-expensive-queries.md | 4 +- ...low-queries.md => identify-slow-queries.md | 8 +- .../index-merge.md => index-merge.md | 2 +- .../join-reorder.md => join-reorder.md | 2 +- ...er.md => key-visualizer-monitoring-tool.md | 2 +- ...words.md => keywords-and-reserved-words.md | 2 +- .../literal-values.md => literal-values.md | 0 ...use-handling.md => load-misuse-handling.md | 4 +- .../tools/loader.md => loader-overview.md | 4 +- ...tion-awareness.md => location-awareness.md | 2 +- ...tions.md => maintain-tidb-using-ansible.md | 0 ...erations.md => maintain-tidb-using-tiup.md | 0 ...x-min-eliminate.md => max-min-eliminate.md | 0 ...d => migrate-from-aurora-mysql-database.md | 0 ...-a-cluster.md => monitor-a-tidb-cluster.md | 0 .../tools/mydumper.md => mydumper-overview.md | 4 +- ...compatibility.md => mysql-compatibility.md | 16 +- ....md => offline-deployment-using-ansible.md | 20 +- ...e.md => online-deployment-using-ansible.md | 30 +- ...optimistic.md => optimistic-transaction.md | 6 +- .../optimizer-hints.md => optimizer-hints.md | 2 +- overview.md | 10 +- .../partitioning.md => partitioned-table.md | 0 ...ration-file.md => pd-configuration-file.md | 2 +- .../tools/pd-control.md => pd-control.md | 0 .../tools/pd-recover.md => pd-recover.md | 0 ...ssimistic.md => pessimistic-transaction.md | 0 ...ilege-system.md => privilege-management.md | 0 ....md => production-deployment-using-tiup.md | 16 +- ...ecution-plan.md => query-execution-plan.md | 12 +- quick-start-with-tidb.md | 4 +- ...torical-data.md => read-historical-data.md | 2 +- reference/sql/statements/desc.md | 9 - reference/sql/statements/describe.md | 9 - reference/sql/statements/show-fields-from.md | 9 - reference/sql/statements/show-index.md | 9 - reference/sql/statements/show-keys.md | 9 - reference/sql/statements/show-schemas.md | 9 - reference/tidb-binlog/tidb-binlog-kafka.md | 458 ---------- reference/tidb-binlog/tidb-binlog-local.md | 287 ------- releases/{ga.md => release-1.0-ga.md} | 0 releases/{11alpha.md => release-1.1-alpha.md} | 0 releases/{11beta.md => release-1.1-beta.md} | 0 releases/{2.0ga.md => release-2.0-ga.md} | 0 releases/{2rc1.md => release-2.0-rc.1.md} | 0 releases/{2rc3.md => release-2.0-rc.3.md} | 0 releases/{2rc4.md => release-2.0-rc.4.md} | 0 releases/{2rc5.md => release-2.0-rc.5.md} | 0 releases/{201.md => release-2.0.1.md} | 0 releases/{2.0.10.md => release-2.0.10.md} | 0 releases/{2.0.11.md => release-2.0.11.md} | 0 releases/{202.md => release-2.0.2.md} | 0 releases/{203.md => release-2.0.3.md} | 0 releases/{204.md => release-2.0.4.md} | 0 releases/{205.md => release-2.0.5.md} | 0 releases/{206.md => release-2.0.6.md} | 0 releases/{207.md => release-2.0.7.md} | 0 releases/{208.md => release-2.0.8.md} | 0 releases/{209.md => release-2.0.9.md} | 0 releases/{21beta.md => release-2.1-beta.md} | 0 releases/{2.1ga.md => release-2.1-ga.md} | 0 releases/{21rc1.md => release-2.1-rc.1.md} | 0 releases/{21rc2.md => release-2.1-rc.2.md} | 0 releases/{21rc3.md => release-2.1-rc.3.md} | 0 releases/{21rc4.md => release-2.1-rc.4.md} | 0 releases/{21rc5.md => release-2.1-rc.5.md} | 2 +- releases/{2.1.1.md => release-2.1.1.md} | 0 releases/{2.1.10.md => release-2.1.10.md} | 0 releases/{2.1.11.md => release-2.1.11.md} | 0 releases/{2.1.12.md => release-2.1.12.md} | 0 releases/{2.1.13.md => release-2.1.13.md} | 0 releases/{2.1.14.md => release-2.1.14.md} | 0 releases/{2.1.15.md => release-2.1.15.md} | 0 releases/{2.1.16.md => release-2.1.16.md} | 0 releases/{2.1.17.md => release-2.1.17.md} | 0 releases/{2.1.18.md => release-2.1.18.md} | 0 releases/{2.1.19.md => release-2.1.19.md} | 0 releases/{2.1.2.md => release-2.1.2.md} | 2 +- releases/{2.1.3.md => release-2.1.3.md} | 0 releases/{2.1.4.md => release-2.1.4.md} | 0 releases/{2.1.5.md => release-2.1.5.md} | 0 releases/{2.1.6.md => release-2.1.6.md} | 0 releases/{2.1.7.md => release-2.1.7.md} | 0 releases/{2.1.8.md => release-2.1.8.md} | 0 releases/{2.1.9.md => release-2.1.9.md} | 0 releases/{3.0beta.md => release-3.0-beta.md} | 0 releases/{3.0-ga.md => release-3.0-ga.md} | 0 ....0.0-beta.1.md => release-3.0.0-beta.1.md} | 0 .../{3.0.0-rc.1.md => release-3.0.0-rc.1.md} | 0 .../{3.0.0-rc.2.md => release-3.0.0-rc.2.md} | 0 .../{3.0.0-rc.3.md => release-3.0.0-rc.3.md} | 0 releases/{3.0.1.md => release-3.0.1.md} | 0 releases/{3.0.10.md => release-3.0.10.md} | 0 releases/{3.0.11.md => release-3.0.11.md} | 0 releases/{3.0.12.md => release-3.0.12.md} | 0 releases/{3.0.13.md => release-3.0.13.md} | 0 releases/{3.0.14.md => release-3.0.14.md} | 0 releases/{3.0.2.md => release-3.0.2.md} | 0 releases/{3.0.3.md => release-3.0.3.md} | 0 releases/{3.0.4.md => release-3.0.4.md} | 0 releases/{3.0.5.md => release-3.0.5.md} | 0 releases/{3.0.6.md => release-3.0.6.md} | 0 releases/{3.0.7.md => release-3.0.7.md} | 0 releases/{3.0.8.md => release-3.0.8.md} | 2 +- releases/{3.0.9.md => release-3.0.9.md} | 0 ....1.0-beta.1.md => release-3.1.0-beta.1.md} | 0 ....1.0-beta.2.md => release-3.1.0-beta.2.md} | 2 +- .../{3.1.0-beta.md => release-3.1.0-beta.md} | 0 releases/{3.1.0-ga.md => release-3.1.0-ga.md} | 0 releases/{3.1.0-rc.md => release-3.1.0-rc.md} | 0 releases/{3.1.1.md => release-3.1.1.md} | 0 ....0.0-beta.1.md => release-4.0.0-beta.1.md} | 0 ....0.0-beta.2.md => release-4.0.0-beta.2.md} | 0 .../{4.0.0-beta.md => release-4.0.0-beta.md} | 0 .../{4.0.0-rc.1.md => release-4.0.0-rc.1.md} | 0 releases/{4.0.0-rc.md => release-4.0.0-rc.md} | 0 releases/release-notes.md | 107 +++ releases/{prega.md => release-pre-ga.md} | 0 releases/{rc1.md => release-rc.1.md} | 0 releases/{rc2.md => release-rc.2.md} | 0 releases/{rc3.md => release-rc.3.md} | 0 releases/{rc4.md => release-rc.4.md} | 0 releases/rn.md | 107 --- ...control.md => role-based-access-control.md | 12 +- ...-ansible.md => scale-tidb-using-ansible.md | 2 +- .../with-tiup.md => scale-tidb-using-tiup.md | 4 +- ...-object-names.md => schema-object-names.md | 0 scripts/verify-links.sh | 2 +- ...md => security-compatibility-with-mysql.md | 0 reference/sql/sql-mode.md => sql-mode.md | 0 ...verview.md => sql-optimization-concepts.md | 4 +- .../sql-statement-add-column.md | 4 +- .../sql-statement-add-index.md | 16 +- .../sql-statement-admin.md | 2 +- .../sql-statement-alter-database.md | 6 +- .../sql-statement-alter-index.md | 10 +- .../sql-statement-alter-instance.md | 4 +- .../sql-statement-alter-table.md | 22 +- .../sql-statement-alter-user.md | 8 +- .../sql-statement-analyze-table.md | 4 +- .../sql-statement-begin.md | 6 +- .../sql-statement-change-column.md | 10 +- .../sql-statement-commit.md | 8 +- .../sql-statement-create-database.md | 10 +- .../sql-statement-create-index.md | 22 +- .../sql-statement-create-sequence.md | 4 +- .../sql-statement-create-table-like.md | 4 +- .../sql-statement-create-table.md | 10 +- .../sql-statement-create-user.md | 10 +- .../sql-statement-create-view.md | 6 +- .../sql-statement-deallocate.md | 4 +- .../sql-statement-delete.md | 8 +- sql-statements/sql-statement-desc.md | 9 + sql-statements/sql-statement-describe.md | 9 + .../sql-statement-do.md | 2 +- .../sql-statement-drop-column.md | 6 +- .../sql-statement-drop-database.md | 4 +- .../sql-statement-drop-index.md | 12 +- .../sql-statement-drop-sequence.md | 4 +- .../sql-statement-drop-table.md | 8 +- .../sql-statement-drop-user.md | 8 +- .../sql-statement-drop-view.md | 4 +- .../sql-statement-execute.md | 4 +- .../sql-statement-explain-analyze.md | 8 +- .../sql-statement-explain.md | 10 +- .../sql-statement-flashback-table.md | 2 +- .../sql-statement-flush-privileges.md | 6 +- .../sql-statement-flush-status.md | 2 +- .../sql-statement-flush-tables.md | 2 +- .../sql-statement-grant-privileges.md | 6 +- .../sql-statement-insert.md | 8 +- .../sql-statement-kill.md | 4 +- .../sql-statement-load-data.md | 6 +- .../sql-statement-modify-column.md | 12 +- .../sql-statement-prepare.md | 4 +- .../sql-statement-recover-table.md | 4 +- .../sql-statement-rename-index.md | 10 +- .../sql-statement-rename-table.md | 6 +- .../sql-statement-replace.md | 8 +- .../sql-statement-revoke-privileges.md | 6 +- .../sql-statement-rollback.md | 6 +- .../sql-statement-select.md | 10 +- .../sql-statement-set-names.md | 6 +- .../sql-statement-set-password.md | 4 +- .../sql-statement-set-transaction.md | 4 +- .../sql-statement-set-variable.md | 2 +- .../sql-statement-show-character-set.md | 2 +- .../sql-statement-show-collation.md | 2 +- .../sql-statement-show-columns-from.md | 2 +- .../sql-statement-show-create-sequence.md | 4 +- .../sql-statement-show-create-table.md | 8 +- .../sql-statement-show-create-user.md | 6 +- .../sql-statement-show-databases.md | 6 +- .../sql-statement-show-engines.md | 0 .../sql-statement-show-errors.md | 2 +- .../sql-statement-show-fields-from.md | 9 + .../sql-statement-show-grants.md | 4 +- sql-statements/sql-statement-show-index.md | 9 + .../sql-statement-show-indexes.md | 6 +- sql-statements/sql-statement-show-keys.md | 9 + .../sql-statement-show-privileges.md | 4 +- .../sql-statement-show-processlist.md | 2 +- sql-statements/sql-statement-show-schemas.md | 9 + .../sql-statement-show-status.md | 2 +- .../sql-statement-show-table-regions.md | 4 +- .../sql-statement-show-table-status.md | 10 +- .../sql-statement-show-tables.md | 6 +- .../sql-statement-show-variables.md | 2 +- .../sql-statement-show-warnings.md | 2 +- .../sql-statement-split-region.md | 4 +- .../sql-statement-start-transaction.md | 6 +- .../sql-statement-trace.md | 2 +- .../sql-statement-truncate.md | 8 +- .../sql-statement-update.md | 8 +- .../sql-statement-use.md | 4 +- ...-summary.md => statement-summary-tables.md | 0 .../statistics.md => statistics.md | 0 support-resources.md => support.md | 0 .../route-diff.md | 0 .../shard-diff.md | 0 .../sync-diff-inspector-overview.md | 6 +- .../upstream-downstream-diff.md | 0 .../tools/syncer.md => syncer-overview.md | 4 +- .../system-table-cluster-config.md | 0 .../system-table-cluster-hardware.md | 2 +- .../system-table-cluster-info.md | 0 .../system-table-cluster-load.md | 2 +- .../system-table-cluster-log.md | 0 .../system-table-cluster-systeminfo.md | 4 +- .../system-table-information-schema.md | 28 +- .../system-table-inspection-result.md | 4 +- .../system-table-inspection-summary.md | 0 .../system-table-metrics-schema.md | 2 +- .../system-table-metrics-summary.md | 0 .../system-table-metrics-tables.md | 0 .../system-table-overview.md | 0 .../system-table-sql-diagnosis.md | 24 +- .../mysql-variables.md => system-variables.md | 4 +- ...cker.md => test-deployment-using-docker.md | 2 +- .../column-ddl-type-codes.md | 2 +- .../ticdc/deploy.md => ticdc/deploy-ticdc.md | 6 +- .../ticdc/manage.md => ticdc/manage-ticdc.md | 0 .../tools/ticdc/sink.md => ticdc/sink-url.md | 0 .../ticdc-open-protocol.md | 4 +- .../overview.md => ticdc/ticdc-overview.md | 4 +- .../troubleshoot-ticdc.md | 2 +- ...ional-replication-between-tidb-clusters.md | 0 .../binlog-slave-client.md | 0 .../deploy-tidb-binlog.md | 6 +- .../handle-tidb-binlog-errors.md | 2 +- .../maintain-tidb-binlog-cluster.md | 0 .../monitor-tidb-binlog-cluster.md | 0 .../tidb-binlog-configuration-file.md | 0 .../faq.md => tidb-binlog/tidb-binlog-faq.md | 6 +- .../tidb-binlog-glossary.md | 0 .../tidb-binlog-overview.md | 8 +- .../tidb-binlog-relay-log.md | 0 .../tidb-binlog-reparo.md | 0 .../troubleshoot-tidb-binlog.md | 6 +- .../upgrade-tidb-binlog.md | 6 +- ...tion-file.md => tidb-configuration-file.md | 8 +- .../tools/tidb-control.md => tidb-control.md | 0 .../deploy-tidb-lightning.md | 18 +- .../migrate-from-csv-using-tidb-lightning.md | 0 .../monitor-tidb-lightning.md | 0 .../tidb-lightning-checkpoints.md | 0 .../tidb-lightning-configuration.md | 4 +- .../tidb-lightning-faq.md | 18 +- .../tidb-lightning-glossary.md | 14 +- .../tidb-lightning-misuse-handling.md | 4 +- .../tidb-lightning-overview.md | 6 +- .../tidb-lightning-table-filter.md | 0 .../tidb-lightning-tidb-backend.md | 6 +- .../tidb-lightning-web-interface.md | 2 +- ...verview.md => tidb-monitoring-framework.md | 0 ...es.md => tidb-specific-system-variables.md | 12 +- ...nose-map.md => tidb-troubleshooting-map.md | 14 +- .../deploy.md => tiflash/deploy-tiflash.md | 10 +- .../maintain-tiflash.md | 12 +- .../monitor.md => tiflash/monitor-tiflash.md | 0 .../tiflash-alert-rules.md | 0 .../tiflash-configuration.md | 6 +- .../tiflash/faq.md => tiflash/tiflash-faq.md | 0 .../tiflash-overview.md | 4 +- .../tune-tiflash-performance.md | 2 +- .../upgrade.md => tiflash/upgrade-tiflash.md | 2 +- {reference/tiflash => tiflash}/use-tiflash.md | 2 +- ...tion-file.md => tikv-configuration-file.md | 4 +- .../tools/tikv-control.md => tikv-control.md | 0 reference/tispark.md => tispark-overview.md | 2 +- ...configuration.md => titan-configuration.md | 8 +- .../titan/overview.md => titan-overview.md | 0 .../manage-tiup-component.md | 0 .../package-tiup-component.md | 2 +- .../tools/tiup/bench.md => tiup/tiup-bench.md | 0 .../tiup/cluster.md => tiup/tiup-cluster.md | 8 +- .../tiup/mirrors.md => tiup/tiup-mirrors.md | 2 +- .../tiup/overview.md => tiup/tiup-overview.md | 12 +- .../playground.md => tiup/tiup-playground.md | 0 ...tion.md => transaction-isolation-levels.md | 4 +- .../overview.md => transaction-overview.md | 4 +- ...r-setup.md => troubleshoot-tidb-cluster.md | 8 +- ...tning.md => troubleshoot-tidb-lightning.md | 6 +- .../tune-tikv.md => tune-tikv-performance.md | 0 ...ersion.md => upgrade-tidb-using-ansible.md | 12 +- ...sing-tiup.md => upgrade-tidb-using-tiup.md | 2 +- ...anagement.md => user-account-management.md | 2 +- ...-variables.md => user-defined-variables.md | 0 reference/sql/view.md => views.md | 4 +- 394 files changed, 1233 insertions(+), 2425 deletions(-) rename reference/alert-rules.md => alert-rules.md (99%) rename reference/sql/attributes/auto-random.md => auto-random.md (96%) rename how-to/maintain/backup-and-restore/mydumper-lightning.md => backup-and-restore-using-mydumper-lightning.md (82%) rename how-to/get-started/explore-sql.md => basic-sql-operations.md (97%) rename benchmark/{sysbench-v2.md => benchmark-sysbench-v2.md} (100%) rename benchmark/{sysbench-v3.md => benchmark-sysbench-v3.md} (100%) rename benchmark/{how-to-run-sysbench.md => benchmark-tidb-using-sysbench.md} (99%) rename benchmark/{how-to-run-tpcc.md => benchmark-tidb-using-tpcc.md} (95%) rename benchmark/{tpch.md => benchmark-tpch.md} (100%) rename benchmark/{add-index-with-load.md => online-workloads-and-add-index-operations.md} (100%) delete mode 100644 benchmark/sysbench.md delete mode 100644 benchmark/tpch-v2.md rename benchmark/{sysbench-v4.md => v3.0-performance-benchmarking-with-sysbench.md} (100%) rename benchmark/{tpcc.md => v3.0-performance-benchmarking-with-tpcc.md} (100%) rename benchmark/{tpcc-v2.md => v4.0-performance-benchmarking-with-tpcc.md} (100%) rename reference/best-practices/grafana-monitor.md => best-practices/grafana-monitor-best-practices.md (95%) rename reference/best-practices/haproxy.md => best-practices/haproxy-best-practices.md (100%) rename reference/best-practices/high-concurrency.md => best-practices/high-concurrency-best-practices.md (87%) rename reference/best-practices/java-app.md => best-practices/java-app-best-practices.md (100%) rename reference/best-practices/massive-regions.md => best-practices/massive-regions-best-practices.md (97%) rename reference/best-practices/pd-scheduling.md => best-practices/pd-scheduling-best-practices.md (98%) rename reference/tools/br/br.md => br/backup-and-restore-tool.md (96%) rename reference/tools/br/use-cases.md => br/backup-and-restore-use-cases.md (94%) rename reference/security/cert-based-authentication.md => certificate-authentication.md (100%) rename reference/sql/characterset-and-collation.md => character-set-and-collation.md (97%) rename reference/performance/check-cluster-status-using-sql-statements.md => check-cluster-status-using-sql-statements.md (61%) rename reference/configuration/pd-server/configuration.md => command-line-flags-for-pd-configuration.md (100%) rename reference/configuration/tidb-server/configuration.md => command-line-flags-for-tidb-configuration.md (98%) rename reference/configuration/tikv-server/configuration.md => command-line-flags-for-tikv-configuration.md (100%) rename reference/sql/language-structure/comment-syntax.md => comment-syntax.md (95%) rename how-to/configure/memory-control.md => configure-memory-usage.md (100%) rename how-to/configure/placement-rules.md => configure-placement-rules.md (98%) rename how-to/configure/time-zone.md => configure-time-zone.md (100%) rename reference/supported-clients.md => connectors-and-apis.md (100%) rename reference/sql/constraints.md => constraints.md (95%) rename reference/sql/data-types/date-and-time.md => data-type-date-and-time.md (100%) rename reference/sql/data-types/default-values.md => data-type-default-values.md (100%) rename reference/sql/data-types/json.md => data-type-json.md (83%) rename reference/sql/data-types/numeric.md => data-type-numeric.md (100%) rename reference/sql/data-types/overview.md => data-type-overview.md (72%) rename reference/sql/data-types/string.md => data-type-string.md (100%) rename how-to/get-started/deploy-tidb-from-docker-compose.md => deploy-test-cluster-using-docker-compose.md (97%) rename reference/tools/download.md => download-ecosystem-tools.md (82%) rename reference/tools/user-guide.md => ecosystem-tool-user-guide.md (79%) rename how-to/secure/enable-tls-between-components.md => enable-tls-between-components.md (94%) rename how-to/secure/enable-tls-clients.md => encrypted-connections-with-tls-protocols.md (86%) rename reference/error-codes.md => error-codes.md (97%) rename reference/performance/execution-plan-bind.md => execution-plan-binding.md (94%) rename reference/sql/language-structure/expression-syntax.md => expression-syntax.md (100%) rename faq/{tidb.md => tidb-faq.md} (92%) rename faq/{upgrade.md => upgrade-faq.md} (100%) rename reference/performance/follower-read.md => follower-read.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/aggregate-group-by-functions.md (97%) rename {reference/sql/functions-and-operators => functions-and-operators}/bit-functions-and-operators.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/cast-functions-and-operators.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/control-flow-functions.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/date-and-time-functions.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/encryption-and-compression-functions.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/expressions-pushed-down.md (78%) rename reference/sql/functions-and-operators/reference.md => functions-and-operators/functions-and-operators-overview.md (82%) rename {reference/sql/functions-and-operators => functions-and-operators}/information-functions.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/json-functions.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/miscellaneous-functions.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/numeric-functions-and-operators.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/operators.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/precision-math.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/string-functions.md (100%) rename reference/sql/functions-and-operators/type-conversion.md => functions-and-operators/type-conversion-in-expression-evaluation.md (100%) rename {reference/sql/functions-and-operators => functions-and-operators}/window-functions.md (100%) rename reference/garbage-collection/configuration.md => garbage-collection-configuration.md (87%) rename reference/garbage-collection/overview.md => garbage-collection-overview.md (98%) rename how-to/secure/generate-self-signed-certificates.md => generate-self-signed-certificates.md (100%) rename reference/sql/generated-columns.md => generated-columns.md (97%) rename how-to/deploy/geographic-redundancy/overview.md => geo-redundancy-deployment.md (100%) rename how-to/get-started/tidb-binlog.md => get-started-with-tidb-binlog.md (98%) rename how-to/get-started/tidb-lightning.md => get-started-with-tidb-lightning.md (94%) rename how-to/get-started/tispark.md => get-started-with-tispark.md (96%) rename reference/key-monitoring-metrics/overview-dashboard.md => grafana-overview-dashboard.md (99%) rename reference/key-monitoring-metrics/pd-dashboard.md => grafana-pd-dashboard.md (99%) rename reference/key-monitoring-metrics/tidb-dashboard.md => grafana-tidb-dashboard.md (99%) rename reference/key-monitoring-metrics/tikv-dashboard.md => grafana-tikv-dashboard.md (99%) rename how-to/deploy/hardware-recommendations.md => hardware-and-software-requirements.md (98%) delete mode 100644 how-to/scale/horizontally.md rename how-to/maintain/identify-abnormal-queries/identify-expensive-queries.md => identify-expensive-queries.md (75%) rename how-to/maintain/identify-abnormal-queries/identify-slow-queries.md => identify-slow-queries.md (96%) rename reference/performance/index-merge.md => index-merge.md (97%) rename reference/performance/join-reorder.md => join-reorder.md (93%) rename how-to/monitor/key-visualizer.md => key-visualizer-monitoring-tool.md (98%) rename reference/sql/language-structure/keywords-and-reserved-words.md => keywords-and-reserved-words.md (98%) rename reference/sql/language-structure/literal-values.md => literal-values.md (100%) rename reference/tools/error-case-handling/load-misuse-handling.md => load-misuse-handling.md (86%) rename reference/tools/loader.md => loader-overview.md (96%) rename how-to/deploy/geographic-redundancy/location-awareness.md => location-awareness.md (96%) rename how-to/maintain/ansible-operations.md => maintain-tidb-using-ansible.md (100%) rename how-to/maintain/tiup-operations.md => maintain-tidb-using-tiup.md (100%) rename reference/performance/max-min-eliminate.md => max-min-eliminate.md (100%) rename how-to/migrate/from-mysql-aurora.md => migrate-from-aurora-mysql-database.md (100%) rename how-to/monitor/monitor-a-cluster.md => monitor-a-tidb-cluster.md (100%) rename reference/tools/mydumper.md => mydumper-overview.md (96%) rename reference/mysql-compatibility.md => mysql-compatibility.md (90%) rename how-to/deploy/orchestrated/offline-ansible.md => offline-deployment-using-ansible.md (77%) rename how-to/deploy/orchestrated/ansible.md => online-deployment-using-ansible.md (94%) rename reference/transactions/transaction-optimistic.md => optimistic-transaction.md (94%) rename reference/performance/optimizer-hints.md => optimizer-hints.md (98%) rename reference/sql/partitioning.md => partitioned-table.md (100%) rename reference/configuration/pd-server/configuration-file.md => pd-configuration-file.md (98%) rename reference/tools/pd-control.md => pd-control.md (100%) rename reference/tools/pd-recover.md => pd-recover.md (100%) rename reference/transactions/transaction-pessimistic.md => pessimistic-transaction.md (100%) rename reference/security/privilege-system.md => privilege-management.md (100%) rename how-to/deploy/orchestrated/tiup.md => production-deployment-using-tiup.md (98%) rename reference/performance/understanding-the-query-execution-plan.md => query-execution-plan.md (99%) rename how-to/get-started/read-historical-data.md => read-historical-data.md (98%) delete mode 100644 reference/sql/statements/desc.md delete mode 100644 reference/sql/statements/describe.md delete mode 100644 reference/sql/statements/show-fields-from.md delete mode 100644 reference/sql/statements/show-index.md delete mode 100644 reference/sql/statements/show-keys.md delete mode 100644 reference/sql/statements/show-schemas.md delete mode 100644 reference/tidb-binlog/tidb-binlog-kafka.md delete mode 100644 reference/tidb-binlog/tidb-binlog-local.md rename releases/{ga.md => release-1.0-ga.md} (100%) rename releases/{11alpha.md => release-1.1-alpha.md} (100%) rename releases/{11beta.md => release-1.1-beta.md} (100%) rename releases/{2.0ga.md => release-2.0-ga.md} (100%) rename releases/{2rc1.md => release-2.0-rc.1.md} (100%) rename releases/{2rc3.md => release-2.0-rc.3.md} (100%) rename releases/{2rc4.md => release-2.0-rc.4.md} (100%) rename releases/{2rc5.md => release-2.0-rc.5.md} (100%) rename releases/{201.md => release-2.0.1.md} (100%) rename releases/{2.0.10.md => release-2.0.10.md} (100%) rename releases/{2.0.11.md => release-2.0.11.md} (100%) rename releases/{202.md => release-2.0.2.md} (100%) rename releases/{203.md => release-2.0.3.md} (100%) rename releases/{204.md => release-2.0.4.md} (100%) rename releases/{205.md => release-2.0.5.md} (100%) rename releases/{206.md => release-2.0.6.md} (100%) rename releases/{207.md => release-2.0.7.md} (100%) rename releases/{208.md => release-2.0.8.md} (100%) rename releases/{209.md => release-2.0.9.md} (100%) rename releases/{21beta.md => release-2.1-beta.md} (100%) rename releases/{2.1ga.md => release-2.1-ga.md} (100%) rename releases/{21rc1.md => release-2.1-rc.1.md} (100%) rename releases/{21rc2.md => release-2.1-rc.2.md} (100%) rename releases/{21rc3.md => release-2.1-rc.3.md} (100%) rename releases/{21rc4.md => release-2.1-rc.4.md} (100%) rename releases/{21rc5.md => release-2.1-rc.5.md} (98%) rename releases/{2.1.1.md => release-2.1.1.md} (100%) rename releases/{2.1.10.md => release-2.1.10.md} (100%) rename releases/{2.1.11.md => release-2.1.11.md} (100%) rename releases/{2.1.12.md => release-2.1.12.md} (100%) rename releases/{2.1.13.md => release-2.1.13.md} (100%) rename releases/{2.1.14.md => release-2.1.14.md} (100%) rename releases/{2.1.15.md => release-2.1.15.md} (100%) rename releases/{2.1.16.md => release-2.1.16.md} (100%) rename releases/{2.1.17.md => release-2.1.17.md} (100%) rename releases/{2.1.18.md => release-2.1.18.md} (100%) rename releases/{2.1.19.md => release-2.1.19.md} (100%) rename releases/{2.1.2.md => release-2.1.2.md} (93%) rename releases/{2.1.3.md => release-2.1.3.md} (100%) rename releases/{2.1.4.md => release-2.1.4.md} (100%) rename releases/{2.1.5.md => release-2.1.5.md} (100%) rename releases/{2.1.6.md => release-2.1.6.md} (100%) rename releases/{2.1.7.md => release-2.1.7.md} (100%) rename releases/{2.1.8.md => release-2.1.8.md} (100%) rename releases/{2.1.9.md => release-2.1.9.md} (100%) rename releases/{3.0beta.md => release-3.0-beta.md} (100%) rename releases/{3.0-ga.md => release-3.0-ga.md} (100%) rename releases/{3.0.0-beta.1.md => release-3.0.0-beta.1.md} (100%) rename releases/{3.0.0-rc.1.md => release-3.0.0-rc.1.md} (100%) rename releases/{3.0.0-rc.2.md => release-3.0.0-rc.2.md} (100%) rename releases/{3.0.0-rc.3.md => release-3.0.0-rc.3.md} (100%) rename releases/{3.0.1.md => release-3.0.1.md} (100%) rename releases/{3.0.10.md => release-3.0.10.md} (100%) rename releases/{3.0.11.md => release-3.0.11.md} (100%) rename releases/{3.0.12.md => release-3.0.12.md} (100%) rename releases/{3.0.13.md => release-3.0.13.md} (100%) rename releases/{3.0.14.md => release-3.0.14.md} (100%) rename releases/{3.0.2.md => release-3.0.2.md} (100%) rename releases/{3.0.3.md => release-3.0.3.md} (100%) rename releases/{3.0.4.md => release-3.0.4.md} (100%) rename releases/{3.0.5.md => release-3.0.5.md} (100%) rename releases/{3.0.6.md => release-3.0.6.md} (100%) rename releases/{3.0.7.md => release-3.0.7.md} (100%) rename releases/{3.0.8.md => release-3.0.8.md} (98%) rename releases/{3.0.9.md => release-3.0.9.md} (100%) rename releases/{3.1.0-beta.1.md => release-3.1.0-beta.1.md} (100%) rename releases/{3.1.0-beta.2.md => release-3.1.0-beta.2.md} (95%) rename releases/{3.1.0-beta.md => release-3.1.0-beta.md} (100%) rename releases/{3.1.0-ga.md => release-3.1.0-ga.md} (100%) rename releases/{3.1.0-rc.md => release-3.1.0-rc.md} (100%) rename releases/{3.1.1.md => release-3.1.1.md} (100%) rename releases/{4.0.0-beta.1.md => release-4.0.0-beta.1.md} (100%) rename releases/{4.0.0-beta.2.md => release-4.0.0-beta.2.md} (100%) rename releases/{4.0.0-beta.md => release-4.0.0-beta.md} (100%) rename releases/{4.0.0-rc.1.md => release-4.0.0-rc.1.md} (100%) rename releases/{4.0.0-rc.md => release-4.0.0-rc.md} (100%) create mode 100644 releases/release-notes.md rename releases/{prega.md => release-pre-ga.md} (100%) rename releases/{rc1.md => release-rc.1.md} (100%) rename releases/{rc2.md => release-rc.2.md} (100%) rename releases/{rc3.md => release-rc.3.md} (100%) rename releases/{rc4.md => release-rc.4.md} (100%) delete mode 100644 releases/rn.md rename reference/security/role-based-access-control.md => role-based-access-control.md (95%) rename how-to/scale/with-ansible.md => scale-tidb-using-ansible.md (98%) rename how-to/scale/with-tiup.md => scale-tidb-using-tiup.md (95%) rename reference/sql/language-structure/schema-object-names.md => schema-object-names.md (100%) rename reference/security/compatibility.md => security-compatibility-with-mysql.md (100%) rename reference/sql/sql-mode.md => sql-mode.md (100%) rename reference/performance/sql-optimizer-overview.md => sql-optimization-concepts.md (93%) rename reference/sql/statements/add-column.md => sql-statements/sql-statement-add-column.md (93%) rename reference/sql/statements/add-index.md => sql-statements/sql-statement-add-index.md (86%) rename reference/sql/statements/admin.md => sql-statements/sql-statement-admin.md (97%) rename reference/sql/statements/alter-database.md => sql-statements/sql-statement-alter-database.md (73%) rename reference/sql/statements/alter-index.md => sql-statements/sql-statement-alter-index.md (95%) rename reference/sql/statements/alter-instance.md => sql-statements/sql-statement-alter-instance.md (73%) rename reference/sql/statements/alter-table.md => sql-statements/sql-statement-alter-table.md (73%) rename reference/sql/statements/alter-user.md => sql-statements/sql-statement-alter-user.md (91%) rename reference/sql/statements/analyze-table.md => sql-statements/sql-statement-analyze-table.md (96%) rename reference/sql/statements/begin.md => sql-statements/sql-statement-begin.md (85%) rename reference/sql/statements/change-column.md => sql-statements/sql-statement-change-column.md (86%) rename reference/sql/statements/commit.md => sql-statements/sql-statement-commit.md (83%) rename reference/sql/statements/create-database.md => sql-statements/sql-statement-create-database.md (85%) rename reference/sql/statements/create-index.md => sql-statements/sql-statement-create-index.md (83%) rename reference/sql/statements/create-sequence.md => sql-statements/sql-statement-create-sequence.md (98%) rename reference/sql/statements/create-table-like.md => sql-statements/sql-statement-create-table-like.md (90%) rename reference/sql/statements/create-table.md => sql-statements/sql-statement-create-table.md (93%) rename reference/sql/statements/create-user.md => sql-statements/sql-statement-create-user.md (80%) rename reference/sql/statements/create-view.md => sql-statements/sql-statement-create-view.md (92%) rename reference/sql/statements/deallocate.md => sql-statements/sql-statement-deallocate.md (90%) rename reference/sql/statements/delete.md => sql-statements/sql-statement-delete.md (85%) create mode 100644 sql-statements/sql-statement-desc.md create mode 100644 sql-statements/sql-statement-describe.md rename reference/sql/statements/do.md => sql-statements/sql-statement-do.md (95%) rename reference/sql/statements/drop-column.md => sql-statements/sql-statement-drop-column.md (91%) rename reference/sql/statements/drop-database.md => sql-statements/sql-statement-drop-database.md (90%) rename reference/sql/statements/drop-index.md => sql-statements/sql-statement-drop-index.md (88%) rename reference/sql/statements/drop-sequence.md => sql-statements/sql-statement-drop-sequence.md (85%) rename reference/sql/statements/drop-table.md => sql-statements/sql-statement-drop-table.md (84%) rename reference/sql/statements/drop-user.md => sql-statements/sql-statement-drop-user.md (89%) rename reference/sql/statements/drop-view.md => sql-statements/sql-statement-drop-view.md (93%) rename reference/sql/statements/execute.md => sql-statements/sql-statement-execute.md (89%) rename reference/sql/statements/explain-analyze.md => sql-statements/sql-statement-explain-analyze.md (93%) rename reference/sql/statements/explain.md => sql-statements/sql-statement-explain.md (97%) rename reference/sql/statements/flashback-table.md => sql-statements/sql-statement-flashback-table.md (96%) rename reference/sql/statements/flush-privileges.md => sql-statements/sql-statement-flush-privileges.md (82%) rename reference/sql/statements/flush-status.md => sql-statements/sql-statement-flush-status.md (97%) rename reference/sql/statements/flush-tables.md => sql-statements/sql-statement-flush-tables.md (94%) rename reference/sql/statements/grant-privileges.md => sql-statements/sql-statement-grant-privileges.md (90%) rename reference/sql/statements/insert.md => sql-statements/sql-statement-insert.md (90%) rename reference/sql/statements/kill.md => sql-statements/sql-statement-kill.md (86%) rename reference/sql/statements/load-data.md => sql-statements/sql-statement-load-data.md (93%) rename reference/sql/statements/modify-column.md => sql-statements/sql-statement-modify-column.md (84%) rename reference/sql/statements/prepare.md => sql-statements/sql-statement-prepare.md (88%) rename reference/sql/statements/recover-table.md => sql-statements/sql-statement-recover-table.md (94%) rename reference/sql/statements/rename-index.md => sql-statements/sql-statement-rename-index.md (83%) rename reference/sql/statements/rename-table.md => sql-statements/sql-statement-rename-table.md (85%) rename reference/sql/statements/replace.md => sql-statements/sql-statement-replace.md (88%) rename reference/sql/statements/revoke-privileges.md => sql-statements/sql-statement-revoke-privileges.md (91%) rename reference/sql/statements/rollback.md => sql-statements/sql-statement-rollback.md (84%) rename reference/sql/statements/select.md => sql-statements/sql-statement-select.md (79%) rename reference/sql/statements/set-names.md => sql-statements/sql-statement-set-names.md (95%) rename reference/sql/statements/set-password.md => sql-statements/sql-statement-set-password.md (96%) rename reference/sql/statements/set-transaction.md => sql-statements/sql-statement-set-transaction.md (93%) rename reference/sql/statements/set-variable.md => sql-statements/sql-statement-set-variable.md (98%) rename reference/sql/statements/show-character-set.md => sql-statements/sql-statement-show-character-set.md (94%) rename reference/sql/statements/show-collation.md => sql-statements/sql-statement-show-collation.md (99%) rename reference/sql/statements/show-columns-from.md => sql-statements/sql-statement-show-columns-from.md (99%) rename reference/sql/statements/show-create-sequence.md => sql-statements/sql-statement-show-create-sequence.md (91%) rename reference/sql/statements/show-create-table.md => sql-statements/sql-statement-show-create-table.md (83%) rename reference/sql/statements/show-create-user.md => sql-statements/sql-statement-show-create-user.md (90%) rename reference/sql/statements/show-databases.md => sql-statements/sql-statement-show-databases.md (87%) rename reference/sql/statements/show-engines.md => sql-statements/sql-statement-show-engines.md (100%) rename reference/sql/statements/show-errors.md => sql-statements/sql-statement-show-errors.md (97%) create mode 100644 sql-statements/sql-statement-show-fields-from.md rename reference/sql/statements/show-grants.md => sql-statements/sql-statement-show-grants.md (92%) create mode 100644 sql-statements/sql-statement-show-index.md rename reference/sql/statements/show-indexes.md => sql-statements/sql-statement-show-indexes.md (95%) create mode 100644 sql-statements/sql-statement-show-keys.md rename reference/sql/statements/show-privileges.md => sql-statements/sql-statement-show-privileges.md (97%) rename reference/sql/statements/show-processlist.md => sql-statements/sql-statement-show-processlist.md (95%) create mode 100644 sql-statements/sql-statement-show-schemas.md rename reference/sql/statements/show-status.md => sql-statements/sql-statement-show-status.md (97%) rename reference/sql/statements/show-table-regions.md => sql-statements/sql-statement-show-table-regions.md (98%) rename reference/sql/statements/show-table-status.md => sql-statements/sql-statement-show-table-status.md (87%) rename reference/sql/statements/show-tables.md => sql-statements/sql-statement-show-tables.md (90%) rename reference/sql/statements/show-variables.md => sql-statements/sql-statement-show-variables.md (98%) rename reference/sql/statements/show-warnings.md => sql-statements/sql-statement-show-warnings.md (97%) rename reference/sql/statements/split-region.md => sql-statements/sql-statement-split-region.md (99%) rename reference/sql/statements/start-transaction.md => sql-statements/sql-statement-start-transaction.md (87%) rename reference/sql/statements/trace.md => sql-statements/sql-statement-trace.md (98%) rename reference/sql/statements/truncate.md => sql-statements/sql-statement-truncate.md (86%) rename reference/sql/statements/update.md => sql-statements/sql-statement-update.md (87%) rename reference/sql/statements/use.md => sql-statements/sql-statement-use.md (93%) rename reference/performance/statement-summary.md => statement-summary-tables.md (100%) rename reference/performance/statistics.md => statistics.md (100%) rename support-resources.md => support.md (100%) rename {reference/tools/sync-diff-inspector => sync-diff-inspector}/route-diff.md (100%) rename {reference/tools/sync-diff-inspector => sync-diff-inspector}/shard-diff.md (100%) rename reference/tools/sync-diff-inspector/overview.md => sync-diff-inspector/sync-diff-inspector-overview.md (96%) rename reference/tools/sync-diff-inspector/tidb-diff.md => sync-diff-inspector/upstream-downstream-diff.md (100%) rename reference/tools/syncer.md => syncer-overview.md (99%) rename reference/system-databases/cluster-config.md => system-tables/system-table-cluster-config.md (100%) rename reference/system-databases/cluster-hardware.md => system-tables/system-table-cluster-hardware.md (97%) rename reference/system-databases/cluster-info.md => system-tables/system-table-cluster-info.md (100%) rename reference/system-databases/cluster-load.md => system-tables/system-table-cluster-load.md (97%) rename reference/system-databases/cluster-log.md => system-tables/system-table-cluster-log.md (100%) rename reference/system-databases/cluster-systeminfo.md => system-tables/system-table-cluster-systeminfo.md (94%) rename reference/system-databases/information-schema.md => system-tables/system-table-information-schema.md (96%) rename reference/system-databases/inspection-result.md => system-tables/system-table-inspection-result.md (98%) rename reference/system-databases/inspection-summary.md => system-tables/system-table-inspection-summary.md (100%) rename reference/system-databases/metrics-schema.md => system-tables/system-table-metrics-schema.md (99%) rename reference/system-databases/metrics-summary.md => system-tables/system-table-metrics-summary.md (100%) rename reference/system-databases/metrics-tables.md => system-tables/system-table-metrics-tables.md (100%) rename reference/system-databases/mysql.md => system-tables/system-table-overview.md (100%) rename reference/system-databases/sql-diagnosis.md => system-tables/system-table-sql-diagnosis.md (74%) rename reference/configuration/tidb-server/mysql-variables.md => system-variables.md (91%) rename how-to/deploy/orchestrated/docker.md => test-deployment-using-docker.md (98%) rename reference/tools/ticdc/column-ddl-type.md => ticdc/column-ddl-type-codes.md (92%) rename reference/tools/ticdc/deploy.md => ticdc/deploy-ticdc.md (95%) rename reference/tools/ticdc/manage.md => ticdc/manage-ticdc.md (100%) rename reference/tools/ticdc/sink.md => ticdc/sink-url.md (100%) rename reference/tools/ticdc/open-protocol.md => ticdc/ticdc-open-protocol.md (98%) rename reference/tools/ticdc/overview.md => ticdc/ticdc-overview.md (84%) rename reference/tools/ticdc/troubleshoot.md => ticdc/troubleshoot-ticdc.md (90%) rename reference/tidb-binlog/bidirectional-replication.md => tidb-binlog/bidirectional-replication-between-tidb-clusters.md (100%) rename {reference/tidb-binlog => tidb-binlog}/binlog-slave-client.md (100%) rename reference/tidb-binlog/deploy.md => tidb-binlog/deploy-tidb-binlog.md (98%) rename reference/tidb-binlog/troubleshoot/error-handling.md => tidb-binlog/handle-tidb-binlog-errors.md (74%) rename reference/tidb-binlog/maintain.md => tidb-binlog/maintain-tidb-binlog-cluster.md (100%) rename reference/tidb-binlog/monitor.md => tidb-binlog/monitor-tidb-binlog-cluster.md (100%) rename reference/tidb-binlog/configs.md => tidb-binlog/tidb-binlog-configuration-file.md (100%) rename reference/tidb-binlog/faq.md => tidb-binlog/tidb-binlog-faq.md (98%) rename reference/tidb-binlog/glossary.md => tidb-binlog/tidb-binlog-glossary.md (100%) rename reference/tidb-binlog/overview.md => tidb-binlog/tidb-binlog-overview.md (86%) rename reference/tidb-binlog/relay-log.md => tidb-binlog/tidb-binlog-relay-log.md (100%) rename reference/tidb-binlog/reparo.md => tidb-binlog/tidb-binlog-reparo.md (100%) rename reference/tidb-binlog/troubleshoot/binlog.md => tidb-binlog/troubleshoot-tidb-binlog.md (50%) rename reference/tidb-binlog/upgrade.md => tidb-binlog/upgrade-tidb-binlog.md (83%) rename reference/configuration/tidb-server/configuration-file.md => tidb-configuration-file.md (97%) rename reference/tools/tidb-control.md => tidb-control.md (100%) rename reference/tools/tidb-lightning/deployment.md => tidb-lightning/deploy-tidb-lightning.md (90%) rename reference/tools/tidb-lightning/csv.md => tidb-lightning/migrate-from-csv-using-tidb-lightning.md (100%) rename reference/tools/tidb-lightning/monitor.md => tidb-lightning/monitor-tidb-lightning.md (100%) rename reference/tools/tidb-lightning/checkpoints.md => tidb-lightning/tidb-lightning-checkpoints.md (100%) rename reference/tools/tidb-lightning/config.md => tidb-lightning/tidb-lightning-configuration.md (97%) rename faq/tidb-lightning.md => tidb-lightning/tidb-lightning-faq.md (87%) rename reference/tools/tidb-lightning/glossary.md => tidb-lightning/tidb-lightning-glossary.md (89%) rename reference/tools/error-case-handling/lightning-misuse-handling.md => tidb-lightning/tidb-lightning-misuse-handling.md (81%) rename reference/tools/tidb-lightning/overview.md => tidb-lightning/tidb-lightning-overview.md (93%) rename reference/tools/tidb-lightning/table-filter.md => tidb-lightning/tidb-lightning-table-filter.md (100%) rename reference/tools/tidb-lightning/tidb-backend.md => tidb-lightning/tidb-lightning-tidb-backend.md (91%) rename reference/tools/tidb-lightning/web.md => tidb-lightning/tidb-lightning-web-interface.md (94%) rename how-to/monitor/overview.md => tidb-monitoring-framework.md (100%) rename reference/configuration/tidb-server/tidb-specific-variables.md => tidb-specific-system-variables.md (98%) rename how-to/troubleshoot/diagnose-map.md => tidb-troubleshooting-map.md (96%) rename reference/tiflash/deploy.md => tiflash/deploy-tiflash.md (88%) rename reference/tiflash/maintain.md => tiflash/maintain-tiflash.md (88%) rename reference/tiflash/monitor.md => tiflash/monitor-tiflash.md (100%) rename reference/tiflash/alert-rules.md => tiflash/tiflash-alert-rules.md (100%) rename reference/tiflash/configuration.md => tiflash/tiflash-configuration.md (85%) rename reference/tiflash/faq.md => tiflash/tiflash-faq.md (100%) rename reference/tiflash/overview.md => tiflash/tiflash-overview.md (94%) rename reference/tiflash/tune-performance.md => tiflash/tune-tiflash-performance.md (83%) rename reference/tiflash/upgrade.md => tiflash/upgrade-tiflash.md (85%) rename {reference/tiflash => tiflash}/use-tiflash.md (98%) rename reference/configuration/tikv-server/configuration-file.md => tikv-configuration-file.md (99%) rename reference/tools/tikv-control.md => tikv-control.md (100%) rename reference/tispark.md => tispark-overview.md (98%) rename reference/titan/configuration.md => titan-configuration.md (93%) rename reference/titan/overview.md => titan-overview.md (100%) rename reference/tools/tiup/manage-component.md => tiup/manage-tiup-component.md (100%) rename reference/tools/tiup/package-component.md => tiup/package-tiup-component.md (93%) rename reference/tools/tiup/bench.md => tiup/tiup-bench.md (100%) rename reference/tools/tiup/cluster.md => tiup/tiup-cluster.md (98%) rename reference/tools/tiup/mirrors.md => tiup/tiup-mirrors.md (99%) rename reference/tools/tiup/overview.md => tiup/tiup-overview.md (92%) rename reference/tools/tiup/playground.md => tiup/tiup-playground.md (100%) rename reference/transactions/transaction-isolation.md => transaction-isolation-levels.md (92%) rename reference/transactions/overview.md => transaction-overview.md (92%) rename how-to/troubleshoot/cluster-setup.md => troubleshoot-tidb-cluster.md (91%) rename how-to/troubleshoot/tidb-lightning.md => troubleshoot-tidb-lightning.md (92%) rename reference/performance/tune-tikv.md => tune-tikv-performance.md (100%) rename how-to/upgrade/from-previous-version.md => upgrade-tidb-using-ansible.md (87%) rename how-to/upgrade/using-tiup.md => upgrade-tidb-using-tiup.md (98%) rename reference/security/user-account-management.md => user-account-management.md (98%) rename reference/sql/language-structure/user-defined-variables.md => user-defined-variables.md (100%) rename reference/sql/view.md => views.md (94%) diff --git a/TOC.md b/TOC.md index c363ff0943c7..4cbc7561e29e 100644 --- a/TOC.md +++ b/TOC.md @@ -8,12 +8,12 @@ + 关于 TiDB - [TiDB 简介](/overview.md) + Benchmark 测试 - - [如何用 Sysbench 测试 TiDB](/benchmark/how-to-run-sysbench.md) - - [如何对 TiDB 进行 TPC-C 测试](/benchmark/how-to-run-tpcc.md) - - [Sysbench 性能对比 - v3.0 对比 v2.1](/benchmark/sysbench-v4.md) - - [TPC-C 性能对比 - v4.0 对比 v3.0](/benchmark/tpcc-v2.md) - - [TPC-C 性能对比 - v3.0 对比 v2.1](/benchmark/tpcc.md) - - [线上负载与 `Add Index` 相互影响测试](/benchmark/add-index-with-load.md) + - [如何用 Sysbench 测试 TiDB](/benchmark/benchmark-tidb-using-sysbench.md) + - [如何对 TiDB 进行 TPC-C 测试](/benchmark/benchmark-tidb-using-tpcc.md) + - [Sysbench 性能对比 - v3.0 对比 v2.1](/benchmark/v3.0-performance-benchmarking-with-sysbench.md) + - [TPC-C 性能对比 - v4.0 对比 v3.0](/benchmark/v4.0-performance-benchmarking-with-tpcc.md) + - [TPC-C 性能对比 - v3.0 对比 v2.1](/benchmark/v3.0-performance-benchmarking-with-tpcc.md) + - [线上负载与 `Add Index` 相互影响测试](/benchmark/online-workloads-and-add-index-operations.md) - [TiDB 快速上手指南](/quick-start-with-tidb.md) + 主要概念 - [整体架构](/architecture.md) @@ -22,464 +22,464 @@ - [高可用](/key-features.md#高可用) + 操作指南 + 快速上手 - - [使用 Docker Compose 部署 TiDB](/how-to/get-started/deploy-tidb-from-docker-compose.md) - - [SQL 基本操作](/how-to/get-started/explore-sql.md) - - [读取历史数据](/how-to/get-started/read-historical-data.md) - - [TiDB Binlog 教程](/how-to/get-started/tidb-binlog.md) + - [使用 Docker Compose 部署 TiDB](/deploy-test-cluster-using-docker-compose.md) + - [SQL 基本操作](/basic-sql-operations.md) + - [读取历史数据](/read-historical-data.md) + - [TiDB Binlog 教程](/get-started-with-tidb-binlog.md) - [TiDB Data Migration 教程](https://pingcap.com/docs-cn/tidb-data-migration/stable/get-started/) - - [TiDB Lightning 教程](/how-to/get-started/tidb-lightning.md) - - [TiSpark 教程](/how-to/get-started/tispark.md) + - [TiDB Lightning 教程](/get-started-with-tidb-lightning.md) + - [TiSpark 教程](/get-started-with-tispark.md) + 部署 - - [软硬件环境需求](/how-to/deploy/hardware-recommendations.md) + - [软硬件环境需求](/hardware-and-software-requirements.md) + 集群部署方式 - - [使用 TiUP 部署(推荐)](/how-to/deploy/orchestrated/tiup.md) - - [使用 Ansible 部署](/how-to/deploy/orchestrated/ansible.md) - - [使用 Ansible 离线部署](/how-to/deploy/orchestrated/offline-ansible.md) - - [使用 Docker 部署](/how-to/deploy/orchestrated/docker.md) + - [使用 TiUP 部署(推荐)](/production-deployment-using-tiup.md) + - [使用 Ansible 部署](/online-deployment-using-ansible.md) + - [使用 Ansible 离线部署](/offline-deployment-using-ansible.md) + - [使用 Docker 部署](/test-deployment-using-docker.md) + 跨地域冗余 - - [跨数据中心部署方案](/how-to/deploy/geographic-redundancy/overview.md) - - [配置集群拓扑](/how-to/deploy/geographic-redundancy/location-awareness.md) + - [跨数据中心部署方案](/geo-redundancy-deployment.md) + - [配置集群拓扑](/location-awareness.md) - [使用 Ansible 部署 DM 集群](https://pingcap.com/docs-cn/tidb-data-migration/stable/deploy-a-dm-cluster-using-ansible/) + 配置 - - [时区](/how-to/configure/time-zone.md) - - [内存控制](/how-to/configure/memory-control.md) - - [Placement Rules](/how-to/configure/placement-rules.md) + - [时区](/configure-time-zone.md) + - [内存控制](/configure-memory-usage.md) + - [Placement Rules](/configure-placement-rules.md) + 安全 + 安全传输层协议 (TLS) - - [为 MySQL 客户端开启 TLS](/how-to/secure/enable-tls-clients.md) - - [为 TiDB 组件间开启 TLS](/how-to/secure/enable-tls-between-components.md) - - [生成自签名证书](/how-to/secure/generate-self-signed-certificates.md) + - [为 MySQL 客户端开启 TLS](/encrypted-connections-with-tls-protocols.md) + - [为 TiDB 组件间开启 TLS](/enable-tls-between-components.md) + - [生成自签名证书](/generate-self-signed-certificates.md) + 监控 - - [概述](/how-to/monitor/overview.md) - - [监控 TiDB 集群](/how-to/monitor/monitor-a-cluster.md) - - [流量可视化](/how-to/monitor/key-visualizer.md) + - [概述](/tidb-monitoring-framework.md) + - [监控 TiDB 集群](/monitor-a-tidb-cluster.md) + - [流量可视化](/key-visualizer-monitoring-tool.md) + 迁移 - - [迁移工具使用指南](/reference/tools/user-guide.md) + - [迁移工具使用指南](/ecosystem-tool-user-guide.md) + 从 MySQL 迁移 - - [以 Amazon Aurora MySQL 为例](/how-to/migrate/from-mysql-aurora.md) - - [从 CSV 迁移](/reference/tools/tidb-lightning/csv.md) + - [以 Amazon Aurora MySQL 为例](/migrate-from-aurora-mysql-database.md) + - [从 CSV 迁移](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md) + 运维 - - [TiUP 常见运维操作](/how-to/maintain/tiup-operations.md) - - [Ansible 常见运维操作](/how-to/maintain/ansible-operations.md) + - [TiUP 常见运维操作](/maintain-tidb-using-tiup.md) + - [Ansible 常见运维操作](/maintain-tidb-using-ansible.md) + 备份与恢复 - - [使用 Mydumper/TiDB Lightning 进行备份与恢复](/how-to/maintain/backup-and-restore/mydumper-lightning.md) - - [使用 BR 进行备份与恢复](/reference/tools/br/br.md) - - [BR 备份与恢复场景示例](/reference/tools/br/use-cases.md) + - [使用 Mydumper/TiDB Lightning 进行备份与恢复](/backup-and-restore-using-mydumper-lightning.md) + - [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) + - [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) + 定位异常查询 - - [定位慢查询](/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md) - - [定位消耗系统资源多的查询](/how-to/maintain/identify-abnormal-queries/identify-expensive-queries.md) + - [定位慢查询](/identify-slow-queries.md) + - [定位消耗系统资源多的查询](/identify-expensive-queries.md) + 扩容缩容 - - [使用 TiUP 扩容缩容](/how-to/scale/with-tiup.md) - - [使用 Ansible 扩容缩容](/how-to/scale/with-ansible.md) + - [使用 TiUP 扩容缩容](/scale-tidb-using-tiup.md) + - [使用 Ansible 扩容缩容](/scale-tidb-using-ansible.md) + 升级 - - [使用 TiUP 升级(推荐)](/how-to/upgrade/using-tiup.md) - - [使用 TiDB Ansible 升级](/how-to/upgrade/from-previous-version.md) + - [使用 TiUP 升级(推荐)](/upgrade-tidb-using-tiup.md) + - [使用 TiDB Ansible 升级](/upgrade-tidb-using-ansible.md) + 故障诊断 - - [TiDB 集群问题导图](/how-to/troubleshoot/diagnose-map.md) - - [集群配置诊断](/how-to/troubleshoot/cluster-setup.md) - - [TiDB Lightning 故障诊断](/how-to/troubleshoot/tidb-lightning.md) + - [TiDB 集群问题导图](/tidb-troubleshooting-map.md) + - [集群配置诊断](/troubleshoot-tidb-cluster.md) + - [TiDB Lightning 故障诊断](/troubleshoot-tidb-lightning.md) + 参考手册 + SQL - - [与 MySQL 兼容性对比](/reference/mysql-compatibility.md) + - [与 MySQL 兼容性对比](/mysql-compatibility.md) + SQL 语言结构 - - [字面值](/reference/sql/language-structure/literal-values.md) - - [Schema 对象名](/reference/sql/language-structure/schema-object-names.md) - - [关键字和保留字](/reference/sql/language-structure/keywords-and-reserved-words.md) - - [用户自定义变量](/reference/sql/language-structure/user-defined-variables.md) - - [表达式语法](/reference/sql/language-structure/expression-syntax.md) - - [注释语法](/reference/sql/language-structure/comment-syntax.md) + - [字面值](/literal-values.md) + - [Schema 对象名](/schema-object-names.md) + - [关键字和保留字](/keywords-and-reserved-words.md) + - [用户自定义变量](/user-defined-variables.md) + - [表达式语法](/expression-syntax.md) + - [注释语法](/comment-syntax.md) + 表属性和列属性 - - [`AUTO_RANDOM`](/reference/sql/attributes/auto-random.md) + - [`AUTO_RANDOM`](/auto-random.md) + 数据类型 - - [概述](/reference/sql/data-types/overview.md) - - [默认值](/reference/sql/data-types/default-values.md) + - [概述](/data-type-overview.md) + - [默认值](/data-type-default-values.md) + 数值类型 - - [`BIT`](/reference/sql/data-types/numeric.md#bit-类型) - - [`BOOL|BOOLEAN`](/reference/sql/data-types/numeric.md#boolean-类型) - - [`TINYINT`](/reference/sql/data-types/numeric.md#tinyint-类型) - - [`SMALLINT`](/reference/sql/data-types/numeric.md#smallint-类型) - - [`MEDIUMINT`](/reference/sql/data-types/numeric.md#mediumint-类型) - - [`INT|INTEGER`](/reference/sql/data-types/numeric.md#integer-类型) - - [`BIGINT`](/reference/sql/data-types/numeric.md#bigint-类型) - - [`FLOAT`](/reference/sql/data-types/numeric.md#float-类型) - - [`DOUBLE`](/reference/sql/data-types/numeric.md#double-类型) - - [`DECIMAL`](/reference/sql/data-types/numeric.md#decimal-类型) + - [`BIT`](/data-type-numeric.md#bit-类型) + - [`BOOL|BOOLEAN`](/data-type-numeric.md#boolean-类型) + - [`TINYINT`](/data-type-numeric.md#tinyint-类型) + - [`SMALLINT`](/data-type-numeric.md#smallint-类型) + - [`MEDIUMINT`](/data-type-numeric.md#mediumint-类型) + - [`INT|INTEGER`](/data-type-numeric.md#integer-类型) + - [`BIGINT`](/data-type-numeric.md#bigint-类型) + - [`FLOAT`](/data-type-numeric.md#float-类型) + - [`DOUBLE`](/data-type-numeric.md#double-类型) + - [`DECIMAL`](/data-type-numeric.md#decimal-类型) + 日期和时间类型 - - [`DATE`](/reference/sql/data-types/date-and-time.md#date-类型) - - [`TIME`](/reference/sql/data-types/date-and-time.md#time-类型) - - [`DATETIME`](/reference/sql/data-types/date-and-time.md#datetime-类型) - - [`TIMESTAMP`](/reference/sql/data-types/date-and-time.md#timestamp-类型) - - [`YEAR`](/reference/sql/data-types/date-and-time.md#year-类型) + - [`DATE`](/data-type-date-and-time.md#date-类型) + - [`TIME`](/data-type-date-and-time.md#time-类型) + - [`DATETIME`](/data-type-date-and-time.md#datetime-类型) + - [`TIMESTAMP`](/data-type-date-and-time.md#timestamp-类型) + - [`YEAR`](/data-type-date-and-time.md#year-类型) + 字符串类型 - - [`CHAR`](/reference/sql/data-types/string.md#char-类型) - - [`VARCHAR`](/reference/sql/data-types/string.md#varchar-类型) - - [`TEXT`](/reference/sql/data-types/string.md#text-类型) - - [`TINYTEXT`](/reference/sql/data-types/string.md#tinytext-类型) - - [`MEDIUMTEXT`](/reference/sql/data-types/string.md#mediumtext-类型) - - [`LONGTEXT`](/reference/sql/data-types/string.md#longtext-类型) - - [`BINARY`](/reference/sql/data-types/string.md#binary-类型) - - [`VARBINARY`](/reference/sql/data-types/string.md#varbinary-类型) - - [`BLOB`](/reference/sql/data-types/string.md#blob-类型) - - [`TINYBLOB`](/reference/sql/data-types/string.md#tinyblob-类型) - - [`MEDIUMBLOB`](/reference/sql/data-types/string.md#mediumblob-类型) - - [`LONGBLOB`](/reference/sql/data-types/string.md#longblob-类型) - - [`ENUM`](/reference/sql/data-types/string.md#enum-类型) - - [`SET`](/reference/sql/data-types/string.md#set-类型) - - [JSON 类型](/reference/sql/data-types/json.md) + - [`CHAR`](/data-type-string.md#char-类型) + - [`VARCHAR`](/data-type-string.md#varchar-类型) + - [`TEXT`](/data-type-string.md#text-类型) + - [`TINYTEXT`](/data-type-string.md#tinytext-类型) + - [`MEDIUMTEXT`](/data-type-string.md#mediumtext-类型) + - [`LONGTEXT`](/data-type-string.md#longtext-类型) + - [`BINARY`](/data-type-string.md#binary-类型) + - [`VARBINARY`](/data-type-string.md#varbinary-类型) + - [`BLOB`](/data-type-string.md#blob-类型) + - [`TINYBLOB`](/data-type-string.md#tinyblob-类型) + - [`MEDIUMBLOB`](/data-type-string.md#mediumblob-类型) + - [`LONGBLOB`](/data-type-string.md#longblob-类型) + - [`ENUM`](/data-type-string.md#enum-类型) + - [`SET`](/data-type-string.md#set-类型) + - [JSON 类型](/data-type-json.md) + 函数与操作符 - - [函数与操作符概述](/reference/sql/functions-and-operators/reference.md) - - [表达式求值的类型转换](/reference/sql/functions-and-operators/type-conversion.md) - - [操作符](/reference/sql/functions-and-operators/operators.md) - - [控制流程函数](/reference/sql/functions-and-operators/control-flow-functions.md) - - [字符串函数](/reference/sql/functions-and-operators/string-functions.md) - - [数值函数与操作符](/reference/sql/functions-and-operators/numeric-functions-and-operators.md) - - [日期和时间函数](/reference/sql/functions-and-operators/date-and-time-functions.md) - - [位函数和操作符](/reference/sql/functions-and-operators/bit-functions-and-operators.md) - - [Cast 函数和操作符](/reference/sql/functions-and-operators/cast-functions-and-operators.md) - - [加密和压缩函数](/reference/sql/functions-and-operators/encryption-and-compression-functions.md) - - [信息函数](/reference/sql/functions-and-operators/information-functions.md) - - [JSON 函数](/reference/sql/functions-and-operators/json-functions.md) - - [GROUP BY 聚合函数](/reference/sql/functions-and-operators/aggregate-group-by-functions.md) - - [窗口函数](/reference/sql/functions-and-operators/window-functions.md) - - [其它函数](/reference/sql/functions-and-operators/miscellaneous-functions.md) - - [精度数学](/reference/sql/functions-and-operators/precision-math.md) - - [下推到 TiKV 的表达式列表](/reference/sql/functions-and-operators/expressions-pushed-down.md) + - [函数与操作符概述](/functions-and-operators/functions-and-operators-overview.md) + - [表达式求值的类型转换](/functions-and-operators/type-conversion-in-expression-evaluation.md) + - [操作符](/functions-and-operators/operators.md) + - [控制流程函数](/functions-and-operators/control-flow-functions.md) + - [字符串函数](/functions-and-operators/string-functions.md) + - [数值函数与操作符](/functions-and-operators/numeric-functions-and-operators.md) + - [日期和时间函数](/functions-and-operators/date-and-time-functions.md) + - [位函数和操作符](/functions-and-operators/bit-functions-and-operators.md) + - [Cast 函数和操作符](/functions-and-operators/cast-functions-and-operators.md) + - [加密和压缩函数](/functions-and-operators/encryption-and-compression-functions.md) + - [信息函数](/functions-and-operators/information-functions.md) + - [JSON 函数](/functions-and-operators/json-functions.md) + - [GROUP BY 聚合函数](/functions-and-operators/aggregate-group-by-functions.md) + - [窗口函数](/functions-and-operators/window-functions.md) + - [其它函数](/functions-and-operators/miscellaneous-functions.md) + - [精度数学](/functions-and-operators/precision-math.md) + - [下推到 TiKV 的表达式列表](/functions-and-operators/expressions-pushed-down.md) + SQL 语句 - - [`ADD COLUMN`](/reference/sql/statements/add-column.md) - - [`ADD INDEX`](/reference/sql/statements/add-index.md) - - [`ADMIN`](/reference/sql/statements/admin.md) - - [`ALTER DATABASE`](/reference/sql/statements/alter-database.md) - - [`ALTER INSTANCE`](/reference/sql/statements/alter-instance.md) - - [`ALTER TABLE`](/reference/sql/statements/alter-table.md) - - [`ALTER USER`](/reference/sql/statements/alter-user.md) - - [`ANALYZE TABLE`](/reference/sql/statements/analyze-table.md) - - [`BEGIN`](/reference/sql/statements/begin.md) - - [`COMMIT`](/reference/sql/statements/commit.md) - - [`CREATE DATABASE`](/reference/sql/statements/create-database.md) - - [`CREATE INDEX`](/reference/sql/statements/create-index.md) - - [`CREATE SEQUENCE`](/reference/sql/statements/create-sequence.md) - - [`CREATE TABLE LIKE`](/reference/sql/statements/create-table-like.md) - - [`CREATE TABLE`](/reference/sql/statements/create-table.md) - - [`CREATE USER`](/reference/sql/statements/create-user.md) - - [`CREATE VIEW`](/reference/sql/statements/create-view.md) - - [`DEALLOCATE`](/reference/sql/statements/deallocate.md) - - [`DELETE`](/reference/sql/statements/delete.md) - - [`DESC`](/reference/sql/statements/desc.md) - - [`DESCRIBE`](/reference/sql/statements/describe.md) - - [`DO`](/reference/sql/statements/do.md) - - [`DROP COLUMN`](/reference/sql/statements/drop-column.md) - - [`DROP DATABASE`](/reference/sql/statements/drop-database.md) - - [`DROP INDEX`](/reference/sql/statements/drop-index.md) - - [`DROP SEQUENCE`](/reference/sql/statements/drop-sequence.md) - - [`DROP TABLE`](/reference/sql/statements/drop-table.md) - - [`DROP USER`](/reference/sql/statements/drop-user.md) - - [`DROP VIEW`](/reference/sql/statements/drop-view.md) - - [`EXECUTE`](/reference/sql/statements/execute.md) - - [`EXPLAIN ANALYZE`](/reference/sql/statements/explain-analyze.md) - - [`EXPLAIN`](/reference/sql/statements/explain.md) - - [`FLASHBACK TABLE`](/reference/sql/statements/flashback-table.md) - - [`FLUSH PRIVILEGES`](/reference/sql/statements/flush-privileges.md) - - [`FLUSH STATUS`](/reference/sql/statements/flush-status.md) - - [`FLUSH TABLES`](/reference/sql/statements/flush-tables.md) - - [`GRANT `](/reference/sql/statements/grant-privileges.md) - - [`INSERT`](/reference/sql/statements/insert.md) - - [`KILL [TIDB]`](/reference/sql/statements/kill.md) - - [`LOAD DATA`](/reference/sql/statements/load-data.md) - - [`MODIFY COLUMN`](/reference/sql/statements/modify-column.md) - - [`PREPARE`](/reference/sql/statements/prepare.md) - - [`RECOVER TABLE`](/reference/sql/statements/recover-table.md) - - [`RENAME INDEX`](/reference/sql/statements/rename-index.md) - - [`RENAME TABLE`](/reference/sql/statements/rename-table.md) - - [`REPLACE`](/reference/sql/statements/replace.md) - - [`REVOKE `](/reference/sql/statements/revoke-privileges.md) - - [`ROLLBACK`](/reference/sql/statements/rollback.md) - - [`SELECT`](/reference/sql/statements/select.md) - - [`SET [NAMES|CHARACTER SET]`](/reference/sql/statements/set-names.md) - - [`SET PASSWORD`](/reference/sql/statements/set-password.md) - - [`SET TRANSACTION`](/reference/sql/statements/set-transaction.md) - - [`SET [GLOBAL|SESSION] `](/reference/sql/statements/set-variable.md) - - [`SHOW CHARACTER SET`](/reference/sql/statements/show-character-set.md) - - [`SHOW COLLATION`](/reference/sql/statements/show-collation.md) - - [`SHOW [FULL] COLUMNS FROM`](/reference/sql/statements/show-columns-from.md) - - [`SHOW CREATE SEQUENCE`](/reference/sql/statements/show-create-sequence.md) - - [`SHOW CREATE TABLE`](/reference/sql/statements/show-create-table.md) - - [`SHOW CREATE USER`](/reference/sql/statements/show-create-user.md) - - [`SHOW DATABASES`](/reference/sql/statements/show-databases.md) - - [`SHOW ENGINES`](/reference/sql/statements/show-engines.md) - - [`SHOW ERRORS`](/reference/sql/statements/show-errors.md) - - [`SHOW [FULL] FIELDS FROM`](/reference/sql/statements/show-fields-from.md) - - [`SHOW GRANTS`](/reference/sql/statements/show-grants.md) - - [`SHOW INDEXES [FROM|IN]`](/reference/sql/statements/show-indexes.md) - - [`SHOW INDEX [FROM|IN]`](/reference/sql/statements/show-index.md) - - [`SHOW KEYS [FROM|IN]`](/reference/sql/statements/show-keys.md) - - [`SHOW PRIVILEGES`](/reference/sql/statements/show-privileges.md) - - [`SHOW [FULL] PROCESSSLIST`](/reference/sql/statements/show-processlist.md) - - [`SHOW SCHEMAS`](/reference/sql/statements/show-schemas.md) - - [`SHOW [FULL] TABLES`](/reference/sql/statements/show-tables.md) - - [`SHOW TABLE REGIONS`](/reference/sql/statements/show-table-regions.md) - - [`SHOW TABLE STATUS`](/reference/sql/statements/show-table-status.md) - - [`SHOW [GLOBAL|SESSION] VARIABLES`](/reference/sql/statements/show-variables.md) - - [`SHOW WARNINGS`](/reference/sql/statements/show-warnings.md) - - [`SPLIT REGION`](/reference/sql/statements/split-region.md) - - [`START TRANSACTION`](/reference/sql/statements/start-transaction.md) - - [`TRACE`](/reference/sql/statements/trace.md) - - [`TRUNCATE`](/reference/sql/statements/truncate.md) - - [`UPDATE`](/reference/sql/statements/update.md) - - [`USE`](/reference/sql/statements/use.md) - - [约束](/reference/sql/constraints.md) - - [生成列](/reference/sql/generated-columns.md) - - [分区表](/reference/sql/partitioning.md) - - [字符集和排序规则](/reference/sql/characterset-and-collation.md) - - [SQL 模式](/reference/sql/sql-mode.md) - - [SQL 诊断](/reference/system-databases/sql-diagnosis.md) - - [视图](/reference/sql/view.md) + - [`ADD COLUMN`](/sql-statements/sql-statement-add-column.md) + - [`ADD INDEX`](/sql-statements/sql-statement-add-index.md) + - [`ADMIN`](/sql-statements/sql-statement-admin.md) + - [`ALTER DATABASE`](/sql-statements/sql-statement-alter-database.md) + - [`ALTER INSTANCE`](/sql-statements/sql-statement-alter-instance.md) + - [`ALTER TABLE`](/sql-statements/sql-statement-alter-table.md) + - [`ALTER USER`](/sql-statements/sql-statement-alter-user.md) + - [`ANALYZE TABLE`](/sql-statements/sql-statement-analyze-table.md) + - [`BEGIN`](/sql-statements/sql-statement-begin.md) + - [`COMMIT`](/sql-statements/sql-statement-commit.md) + - [`CREATE DATABASE`](/sql-statements/sql-statement-create-database.md) + - [`CREATE INDEX`](/sql-statements/sql-statement-create-index.md) + - [`CREATE SEQUENCE`](/sql-statements/sql-statement-create-sequence.md) + - [`CREATE TABLE LIKE`](/sql-statements/sql-statement-create-table-like.md) + - [`CREATE TABLE`](/sql-statements/sql-statement-create-table.md) + - [`CREATE USER`](/sql-statements/sql-statement-create-user.md) + - [`CREATE VIEW`](/sql-statements/sql-statement-create-view.md) + - [`DEALLOCATE`](/sql-statements/sql-statement-deallocate.md) + - [`DELETE`](/sql-statements/sql-statement-delete.md) + - [`DESC`](/sql-statements/sql-statement-desc.md) + - [`DESCRIBE`](/sql-statements/sql-statement-describe.md) + - [`DO`](/sql-statements/sql-statement-do.md) + - [`DROP COLUMN`](/sql-statements/sql-statement-drop-column.md) + - [`DROP DATABASE`](/sql-statements/sql-statement-drop-database.md) + - [`DROP INDEX`](/sql-statements/sql-statement-drop-index.md) + - [`DROP SEQUENCE`](/sql-statements/sql-statement-drop-sequence.md) + - [`DROP TABLE`](/sql-statements/sql-statement-drop-table.md) + - [`DROP USER`](/sql-statements/sql-statement-drop-user.md) + - [`DROP VIEW`](/sql-statements/sql-statement-drop-view.md) + - [`EXECUTE`](/sql-statements/sql-statement-execute.md) + - [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) + - [`EXPLAIN`](/sql-statements/sql-statement-explain.md) + - [`FLASHBACK TABLE`](/sql-statements/sql-statement-flashback-table.md) + - [`FLUSH PRIVILEGES`](/sql-statements/sql-statement-flush-privileges.md) + - [`FLUSH STATUS`](/sql-statements/sql-statement-flush-status.md) + - [`FLUSH TABLES`](/sql-statements/sql-statement-flush-tables.md) + - [`GRANT `](/sql-statements/sql-statement-grant-privileges.md) + - [`INSERT`](/sql-statements/sql-statement-insert.md) + - [`KILL [TIDB]`](/sql-statements/sql-statement-kill.md) + - [`LOAD DATA`](/sql-statements/sql-statement-load-data.md) + - [`MODIFY COLUMN`](/sql-statements/sql-statement-modify-column.md) + - [`PREPARE`](/sql-statements/sql-statement-prepare.md) + - [`RECOVER TABLE`](/sql-statements/sql-statement-recover-table.md) + - [`RENAME INDEX`](/sql-statements/sql-statement-rename-index.md) + - [`RENAME TABLE`](/sql-statements/sql-statement-rename-table.md) + - [`REPLACE`](/sql-statements/sql-statement-replace.md) + - [`REVOKE `](/sql-statements/sql-statement-revoke-privileges.md) + - [`ROLLBACK`](/sql-statements/sql-statement-rollback.md) + - [`SELECT`](/sql-statements/sql-statement-select.md) + - [`SET [NAMES|CHARACTER SET]`](/sql-statements/sql-statement-set-names.md) + - [`SET PASSWORD`](/sql-statements/sql-statement-set-password.md) + - [`SET TRANSACTION`](/sql-statements/sql-statement-set-transaction.md) + - [`SET [GLOBAL|SESSION] `](/sql-statements/sql-statement-set-variable.md) + - [`SHOW CHARACTER SET`](/sql-statements/sql-statement-show-character-set.md) + - [`SHOW COLLATION`](/sql-statements/sql-statement-show-collation.md) + - [`SHOW [FULL] COLUMNS FROM`](/sql-statements/sql-statement-show-columns-from.md) + - [`SHOW CREATE SEQUENCE`](/sql-statements/sql-statement-show-create-sequence.md) + - [`SHOW CREATE TABLE`](/sql-statements/sql-statement-show-create-table.md) + - [`SHOW CREATE USER`](/sql-statements/sql-statement-show-create-user.md) + - [`SHOW DATABASES`](/sql-statements/sql-statement-show-databases.md) + - [`SHOW ENGINES`](/sql-statements/sql-statement-show-engines.md) + - [`SHOW ERRORS`](/sql-statements/sql-statement-show-errors.md) + - [`SHOW [FULL] FIELDS FROM`](/sql-statements/sql-statement-show-fields-from.md) + - [`SHOW GRANTS`](/sql-statements/sql-statement-show-grants.md) + - [`SHOW INDEXES [FROM|IN]`](/sql-statements/sql-statement-show-indexes.md) + - [`SHOW INDEX [FROM|IN]`](/sql-statements/sql-statement-show-index.md) + - [`SHOW KEYS [FROM|IN]`](/sql-statements/sql-statement-show-keys.md) + - [`SHOW PRIVILEGES`](/sql-statements/sql-statement-show-privileges.md) + - [`SHOW [FULL] PROCESSSLIST`](/sql-statements/sql-statement-show-processlist.md) + - [`SHOW SCHEMAS`](/sql-statements/sql-statement-show-schemas.md) + - [`SHOW [FULL] TABLES`](/sql-statements/sql-statement-show-tables.md) + - [`SHOW TABLE REGIONS`](/sql-statements/sql-statement-show-table-regions.md) + - [`SHOW TABLE STATUS`](/sql-statements/sql-statement-show-table-status.md) + - [`SHOW [GLOBAL|SESSION] VARIABLES`](/sql-statements/sql-statement-show-variables.md) + - [`SHOW WARNINGS`](/sql-statements/sql-statement-show-warnings.md) + - [`SPLIT REGION`](/sql-statements/sql-statement-split-region.md) + - [`START TRANSACTION`](/sql-statements/sql-statement-start-transaction.md) + - [`TRACE`](/sql-statements/sql-statement-trace.md) + - [`TRUNCATE`](/sql-statements/sql-statement-truncate.md) + - [`UPDATE`](/sql-statements/sql-statement-update.md) + - [`USE`](/sql-statements/sql-statement-use.md) + - [约束](/constraints.md) + - [生成列](/generated-columns.md) + - [分区表](/partitioned-table.md) + - [字符集和排序规则](/character-set-and-collation.md) + - [SQL 模式](/sql-mode.md) + - [SQL 诊断](/system-tables/system-table-sql-diagnosis.md) + - [视图](/views.md) + 配置 + tidb-server - - [MySQL 系统变量](/reference/configuration/tidb-server/mysql-variables.md) - - [TiDB 特定系统变量](/reference/configuration/tidb-server/tidb-specific-variables.md) - - [配置参数](/reference/configuration/tidb-server/configuration.md) - - [配置文件描述](/reference/configuration/tidb-server/configuration-file.md) + - [MySQL 系统变量](/system-variables.md) + - [TiDB 特定系统变量](/tidb-specific-system-variables.md) + - [配置参数](/command-line-flags-for-tidb-configuration.md) + - [配置文件描述](/tidb-configuration-file.md) + pd-server - - [配置参数](/reference/configuration/pd-server/configuration.md) - - [配置文件描述](/reference/configuration/pd-server/configuration-file.md) + - [配置参数](/command-line-flags-for-pd-configuration.md) + - [配置文件描述](/pd-configuration-file.md) + tikv-server - - [配置参数](/reference/configuration/tikv-server/configuration.md) - - [配置文件描述](/reference/configuration/tikv-server/configuration-file.md) + - [配置参数](/command-line-flags-for-tikv-configuration.md) + - [配置文件描述](/tikv-configuration-file.md) + 安全 - - [与 MySQL 的安全特性差异](/reference/security/compatibility.md) - - [TiDB 数据库权限管理](/reference/security/privilege-system.md) - - [TiDB 用户账户管理](/reference/security/user-account-management.md) - - [基于角色的访问控制](/reference/security/role-based-access-control.md) - - [TiDB 证书鉴权使用指南](/reference/security/cert-based-authentication.md) + - [与 MySQL 的安全特性差异](/security-compatibility-with-mysql.md) + - [TiDB 数据库权限管理](/privilege-management.md) + - [TiDB 用户账户管理](/user-account-management.md) + - [基于角色的访问控制](/role-based-access-control.md) + - [TiDB 证书鉴权使用指南](/certificate-authentication.md) + 事务 - - [事务概览](/reference/transactions/overview.md) - - [隔离级别](/reference/transactions/transaction-isolation.md) - - [乐观事务](/reference/transactions/transaction-optimistic.md) - - [悲观事务](/reference/transactions/transaction-pessimistic.md) + - [事务概览](/transaction-overview.md) + - [隔离级别](/transaction-isolation-levels.md) + - [乐观事务](/optimistic-transaction.md) + - [悲观事务](/pessimistic-transaction.md) + 系统数据库 - - [`mysql`](/reference/system-databases/mysql.md) - - [`information_schema`](/reference/system-databases/information-schema.md) + - [`mysql`](/system-tables/system-table-overview.md) + - [`information_schema`](/system-tables/system-table-information-schema.md) + `sql-diagnosis` - - [`cluster_info`](/reference/system-databases/cluster-info.md) - - [`cluster_hardware`](/reference/system-databases/cluster-hardware.md) - - [`cluster_config`](/reference/system-databases/cluster-config.md) - - [`cluster_load`](/reference/system-databases/cluster-load.md) - - [`cluster_systeminfo`](/reference/system-databases/cluster-systeminfo.md) - - [`cluster_log`](/reference/system-databases/cluster-log.md) - - [`metrics_schema`](/reference/system-databases/metrics-schema.md) - - [`metrics_tables`](/reference/system-databases/metrics-tables.md) - - [`metrics_summary`](/reference/system-databases/metrics-summary.md) - - [`inspection_result`](/reference/system-databases/inspection-result.md) - - [`inspection_summary`](/reference/system-databases/inspection-summary.md) - - [错误码](/reference/error-codes.md) - - [支持的连接器和 API](/reference/supported-clients.md) + - [`cluster_info`](/system-tables/system-table-cluster-info.md) + - [`cluster_hardware`](/system-tables/system-table-cluster-hardware.md) + - [`cluster_config`](/system-tables/system-table-cluster-config.md) + - [`cluster_load`](/system-tables/system-table-cluster-load.md) + - [`cluster_systeminfo`](/system-tables/system-table-cluster-systeminfo.md) + - [`cluster_log`](/system-tables/system-table-cluster-log.md) + - [`metrics_schema`](/system-tables/system-table-metrics-schema.md) + - [`metrics_tables`](/system-tables/system-table-metrics-tables.md) + - [`metrics_summary`](/system-tables/system-table-metrics-summary.md) + - [`inspection_result`](/system-tables/system-table-inspection-result.md) + - [`inspection_summary`](/system-tables/system-table-inspection-summary.md) + - [错误码](/error-codes.md) + - [支持的连接器和 API](/connectors-and-apis.md) + 垃圾回收 (GC) - - [GC 机制简介](/reference/garbage-collection/overview.md) - - [GC 配置](/reference/garbage-collection/configuration.md) + - [GC 机制简介](/garbage-collection-overview.md) + - [GC 配置](/garbage-collection-configuration.md) + 性能调优 - - [SQL 优化流程](/reference/performance/sql-optimizer-overview.md) - - [理解 TiDB 执行计划](/reference/performance/understanding-the-query-execution-plan.md) - - [执行计划绑定](/reference/performance/execution-plan-bind.md) - - [Join Reorder 算法简介](/reference/performance/join-reorder.md) - - [统计信息概述](/reference/performance/statistics.md) - - [Optimizer Hints](/reference/performance/optimizer-hints.md) - - [Follower Read](/reference/performance/follower-read.md) - - [使用 SQL 语句检查 TiDB 集群状态](/reference/performance/check-cluster-status-using-sql-statements.md) - - [使用 Index Merge 方式访问表](/reference/performance/index-merge.md) - - [Statement Summary Table](/reference/performance/statement-summary.md) - - [Max/Min 函数消除规则](/reference/performance/max-min-eliminate.md) - - [TiKV 调优](/reference/performance/tune-tikv.md) + - [SQL 优化流程](/sql-optimization-concepts.md) + - [理解 TiDB 执行计划](/query-execution-plan.md) + - [执行计划绑定](/execution-plan-binding.md) + - [Join Reorder 算法简介](/join-reorder.md) + - [统计信息概述](/statistics.md) + - [Optimizer Hints](/optimizer-hints.md) + - [Follower Read](/follower-read.md) + - [使用 SQL 语句检查 TiDB 集群状态](/check-cluster-status-using-sql-statements.md) + - [使用 Index Merge 方式访问表](/index-merge.md) + - [Statement Summary Table](/statement-summary-tables.md) + - [Max/Min 函数消除规则](/max-min-eliminate.md) + - [TiKV 调优](/tune-tikv-performance.md) - [TiDB 最佳实践](https://pingcap.com/blog-cn/tidb-best-practice/) + 监控指标 - - [Overview 面板](/reference/key-monitoring-metrics/overview-dashboard.md) - - [TiDB 面板](/reference/key-monitoring-metrics/tidb-dashboard.md) - - [PD 面板](/reference/key-monitoring-metrics/pd-dashboard.md) - - [TiKV 面板](/reference/key-monitoring-metrics/tikv-dashboard.md) - - [报警规则](/reference/alert-rules.md) + - [Overview 面板](/grafana-overview-dashboard.md) + - [TiDB 面板](/grafana-tidb-dashboard.md) + - [PD 面板](/grafana-pd-dashboard.md) + - [TiKV 面板](/grafana-tikv-dashboard.md) + - [报警规则](/alert-rules.md) + 最佳实践 - - [HAProxy 最佳实践](/reference/best-practices/haproxy.md) - - [Java 应用开发最佳实践](/reference/best-practices/java-app.md) - - [高并发写入场景最佳实践](/reference/best-practices/high-concurrency.md) - - [Grafana 监控最佳实践](/reference/best-practices/grafana-monitor.md) - - [PD 调度策略最佳实践](/reference/best-practices/pd-scheduling.md) - - [海量 Region 集群调优最佳实践](/reference/best-practices/massive-regions.md) - + [TiSpark 使用指南](/reference/tispark.md) + - [HAProxy 最佳实践](/best-practices/haproxy-best-practices.md) + - [Java 应用开发最佳实践](/best-practices/java-app-best-practices.md) + - [高并发写入场景最佳实践](/best-practices/high-concurrency-best-practices.md) + - [Grafana 监控最佳实践](/best-practices/grafana-monitor-best-practices.md) + - [PD 调度策略最佳实践](/best-practices/pd-scheduling-best-practices.md) + - [海量 Region 集群调优最佳实践](/best-practices/massive-regions-best-practices.md) + + [TiSpark 使用指南](/tispark-overview.md) + TiFlash - - [概述](/reference/tiflash/overview.md) - - [部署集群](/reference/tiflash/deploy.md) - - [使用 TiFlash](/reference/tiflash/use-tiflash.md) - - [运维集群](/reference/tiflash/maintain.md) - - [监控集群](/reference/tiflash/monitor.md) - - [扩缩容集群](/how-to/scale/with-tiup.md#2-扩容-tiflash-节点) - - [升级节点](/reference/tiflash/upgrade.md) - - [配置参数](/reference/tiflash/configuration.md) - - [报警规则](/reference/tiflash/alert-rules.md) - - [性能调优](/reference/tiflash/tune-performance.md) - - [FAQ](/reference/tiflash/faq.md) + - [概述](/tiflash/tiflash-overview.md) + - [部署集群](/tiflash/deploy-tiflash.md) + - [使用 TiFlash](/tiflash/use-tiflash.md) + - [运维集群](/tiflash/maintain-tiflash.md) + - [监控集群](/tiflash/monitor-tiflash.md) + - [扩缩容集群](/scale-tidb-using-tiup.md#2-扩容-tiflash-节点) + - [升级节点](/tiflash/upgrade-tiflash.md) + - [配置参数](/tiflash/tiflash-configuration.md) + - [报警规则](/tiflash/tiflash-alert-rules.md) + - [性能调优](/tiflash/tune-tiflash-performance.md) + - [FAQ](/tiflash/tiflash-faq.md) + Titan - - [概述](/reference/titan/overview.md) - - [配置参数](/reference/titan/configuration.md) + - [概述](/titan-overview.md) + - [配置参数](/titan-configuration.md) + TiDB Binlog - - [概述](/reference/tidb-binlog/overview.md) - - [部署使用](/reference/tidb-binlog/deploy.md) - - [运维管理](/reference/tidb-binlog/maintain.md) - - [配置说明](/reference/tidb-binlog/configs.md) - - [Pump](/reference/tidb-binlog/configs.md#pump) - - [Drainer](/reference/tidb-binlog/configs.md#drainer) - - [版本升级](/reference/tidb-binlog/upgrade.md) - - [监控告警](/reference/tidb-binlog/monitor.md) - - [增量恢复](/reference/tidb-binlog/reparo.md) - - [Kafka 自定义开发](/reference/tidb-binlog/binlog-slave-client.md) - - [TiDB Binlog Relay Log](/reference/tidb-binlog/relay-log.md) - - [集群间双向同步](/reference/tidb-binlog/bidirectional-replication.md) - - [术语表](/reference/tidb-binlog/glossary.md) + - [概述](/tidb-binlog/tidb-binlog-overview.md) + - [部署使用](/tidb-binlog/deploy-tidb-binlog.md) + - [运维管理](/tidb-binlog/maintain-tidb-binlog-cluster.md) + - [配置说明](/tidb-binlog/tidb-binlog-configuration-file.md) + - [Pump](/tidb-binlog/tidb-binlog-configuration-file.md#pump) + - [Drainer](/tidb-binlog/tidb-binlog-configuration-file.md#drainer) + - [版本升级](/tidb-binlog/upgrade-tidb-binlog.md) + - [监控告警](/tidb-binlog/monitor-tidb-binlog-cluster.md) + - [增量恢复](/tidb-binlog/tidb-binlog-reparo.md) + - [Kafka 自定义开发](/tidb-binlog/binlog-slave-client.md) + - [TiDB Binlog Relay Log](/tidb-binlog/tidb-binlog-relay-log.md) + - [集群间双向同步](/tidb-binlog/bidirectional-replication-between-tidb-clusters.md) + - [术语表](/tidb-binlog/tidb-binlog-glossary.md) + 故障诊断 - - [故障诊断](/reference/tidb-binlog/troubleshoot/binlog.md) - - [常见错误修复](/reference/tidb-binlog/troubleshoot/error-handling.md) - - [FAQ](/reference/tidb-binlog/faq.md) + - [故障诊断](/tidb-binlog/troubleshoot-tidb-binlog.md) + - [常见错误修复](/tidb-binlog/handle-tidb-binlog-errors.md) + - [FAQ](/tidb-binlog/tidb-binlog-faq.md) + 周边工具 - - [工具使用指南](/reference/tools/user-guide.md) - - [Mydumper](/reference/tools/mydumper.md) - - [Loader](/reference/tools/loader.md) - - [Syncer](/reference/tools/syncer.md) + - [工具使用指南](/ecosystem-tool-user-guide.md) + - [Mydumper](/mydumper-overview.md) + - [Loader](/loader-overview.md) + - [Syncer](/syncer-overview.md) - [Data Migration](https://pingcap.com/docs-cn/tidb-data-migration/stable/) + TiDB Lightning - - [概述](/reference/tools/tidb-lightning/overview.md) - - [部署执行](/reference/tools/tidb-lightning/deployment.md) - - [参数说明](/reference/tools/tidb-lightning/config.md) - - [断点续传](/reference/tools/tidb-lightning/checkpoints.md) - - [表库过滤](/reference/tools/tidb-lightning/table-filter.md) - - [CSV 支持](/reference/tools/tidb-lightning/csv.md) - - [TiDB-backend](/reference/tools/tidb-lightning/tidb-backend.md) - - [Web 界面](/reference/tools/tidb-lightning/web.md) - - [监控告警](/reference/tools/tidb-lightning/monitor.md) - - [故障诊断](/how-to/troubleshoot/tidb-lightning.md) - - [FAQ](/faq/tidb-lightning.md) - - [术语表](/reference/tools/tidb-lightning/glossary.md) + - [概述](/tidb-lightning/tidb-lightning-overview.md) + - [部署执行](/tidb-lightning/deploy-tidb-lightning.md) + - [参数说明](/tidb-lightning/tidb-lightning-configuration.md) + - [断点续传](/tidb-lightning/tidb-lightning-checkpoints.md) + - [表库过滤](/tidb-lightning/tidb-lightning-table-filter.md) + - [CSV 支持](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md) + - [TiDB-backend](/tidb-lightning/tidb-lightning-tidb-backend.md) + - [Web 界面](/tidb-lightning/tidb-lightning-web-interface.md) + - [监控告警](/tidb-lightning/monitor-tidb-lightning.md) + - [故障诊断](/troubleshoot-tidb-lightning.md) + - [FAQ](/tidb-lightning/tidb-lightning-faq.md) + - [术语表](/tidb-lightning/tidb-lightning-glossary.md) + TiCDC - - [概述](/reference/tools/ticdc/overview.md) - - [部署使用](/reference/tools/ticdc/deploy.md) - - [集群和同步任务管理](/reference/tools/ticdc/manage.md) - - [常见问题和故障处理](/reference/tools/ticdc/troubleshoot.md) - - [Sink URI 配置规则](/reference/tools/ticdc/sink.md) - - [开放数据协议](/reference/tools/ticdc/open-protocol.md) - - [Column 和 DDL 的类型码](/reference/tools/ticdc/column-ddl-type.md) + - [概述](/ticdc/ticdc-overview.md) + - [部署使用](/ticdc/deploy-ticdc.md) + - [集群和同步任务管理](/ticdc/manage-ticdc.md) + - [常见问题和故障处理](/ticdc/troubleshoot-ticdc.md) + - [Sink URI 配置规则](/ticdc/sink-url.md) + - [开放数据协议](/ticdc/ticdc-open-protocol.md) + - [Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) + sync-diff-inspector - - [概述](/reference/tools/sync-diff-inspector/overview.md) - - [不同库名或表名的数据校验](/reference/tools/sync-diff-inspector/route-diff.md) - - [分库分表场景下的数据校验](/reference/tools/sync-diff-inspector/shard-diff.md) - - [TiDB 主从集群的数据校验](/reference/tools/sync-diff-inspector/tidb-diff.md) + - [概述](/sync-diff-inspector/sync-diff-inspector-overview.md) + - [不同库名或表名的数据校验](/sync-diff-inspector/route-diff.md) + - [分库分表场景下的数据校验](/sync-diff-inspector/shard-diff.md) + - [TiDB 主从集群的数据校验](/sync-diff-inspector/upstream-downstream-diff.md) + TiUP - - [概述](/reference/tools/tiup/overview.md) - - [使用 TiUP 命令管理组件](/reference/tools/tiup/manage-component.md) - - [本地快速部署 TiDB 集群](/reference/tools/tiup/playground.md) - - [部署运维 TiDB 线上集群](/reference/tools/tiup/cluster.md) - - [搭建私有镜像](/reference/tools/tiup/mirrors.md) - - [打包组件](/reference/tools/tiup/package-component.md) - - [使用 TiUP 压测 TiDB](/reference/tools/tiup/bench.md) - - [PD Control](/reference/tools/pd-control.md) - - [PD Recover](/reference/tools/pd-recover.md) - - [TiKV Control](/reference/tools/tikv-control.md) - - [TiDB Control](/reference/tools/tidb-control.md) - - [工具下载](/reference/tools/download.md) + - [概述](/tiup/tiup-overview.md) + - [使用 TiUP 命令管理组件](/tiup/manage-tiup-component.md) + - [本地快速部署 TiDB 集群](/tiup/tiup-playground.md) + - [部署运维 TiDB 线上集群](/tiup/tiup-cluster.md) + - [搭建私有镜像](/tiup/tiup-mirrors.md) + - [打包组件](/tiup/package-tiup-component.md) + - [使用 TiUP 压测 TiDB](/tiup/tiup-bench.md) + - [PD Control](/pd-control.md) + - [PD Recover](/pd-recover.md) + - [TiKV Control](/tikv-control.md) + - [TiDB Control](/tidb-control.md) + - [工具下载](/download-ecosystem-tools.md) - [TiDB in Kubernetes](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/) + 常见问题 (FAQ) - - [TiDB FAQ](/faq/tidb.md) - - [TiDB Lightning FAQ](/faq/tidb-lightning.md) - - [升级 FAQ](/faq/upgrade.md) + - [TiDB FAQ](/faq/tidb-faq.md) + - [TiDB Lightning FAQ](/tidb-lightning/tidb-lightning-faq.md) + - [升级 FAQ](/faq/upgrade-faq.md) + 技术支持 - - [支持渠道](/support-resources.md) + - [支持渠道](/support.md) - [反馈问题](/report-issue.md) + [贡献](/contribute.md) - [贡献代码](/contribute.md#成为-tidb-的贡献者) - [改进文档](/contribute.md#改进文档) + [TiDB 路线图](/roadmap.md) -+ [版本发布历史](/releases/rn.md) ++ [版本发布历史](/releases/release-notes.md) + v4.0 - - [4.0.0-rc.1](/releases/4.0.0-rc.1.md) - - [4.0.0-rc](/releases/4.0.0-rc.md) - - [4.0.0-beta.2](/releases/4.0.0-beta.2.md) - - [4.0.0-beta.1](/releases/4.0.0-beta.1.md) - - [4.0.0-beta](/releases/4.0.0-beta.md) + - [4.0.0-rc.1](/releases/release-4.0.0-rc.1.md) + - [4.0.0-rc](/releases/release-4.0.0-rc.md) + - [4.0.0-beta.2](/releases/release-4.0.0-beta.2.md) + - [4.0.0-beta.1](/releases/release-4.0.0-beta.1.md) + - [4.0.0-beta](/releases/release-4.0.0-beta.md) + v3.1 - - [3.1.1](/releases/3.1.1.md) - - [3.1.0 GA](/releases/3.1.0-ga.md) - - [3.1.0-rc](/releases/3.1.0-rc.md) - - [3.1.0-beta.2](/releases/3.1.0-beta.2.md) - - [3.1.0-beta.1](/releases/3.1.0-beta.1.md) - - [3.1.0-beta](/releases/3.1.0-beta.md) + - [3.1.1](/releases/release-3.1.1.md) + - [3.1.0 GA](/releases/release-3.1.0-ga.md) + - [3.1.0-rc](/releases/release-3.1.0-rc.md) + - [3.1.0-beta.2](/releases/release-3.1.0-beta.2.md) + - [3.1.0-beta.1](/releases/release-3.1.0-beta.1.md) + - [3.1.0-beta](/releases/release-3.1.0-beta.md) + v3.0 - - [3.0.14](/releases/3.0.14.md) - - [3.0.13](/releases/3.0.13.md) - - [3.0.12](/releases/3.0.12.md) - - [3.0.11](/releases/3.0.11.md) - - [3.0.10](/releases/3.0.10.md) - - [3.0.9](/releases/3.0.9.md) - - [3.0.8](/releases/3.0.8.md) - - [3.0.7](/releases/3.0.7.md) - - [3.0.6](/releases/3.0.6.md) - - [3.0.5](/releases/3.0.5.md) - - [3.0.4](/releases/3.0.4.md) - - [3.0.3](/releases/3.0.3.md) - - [3.0.2](/releases/3.0.2.md) - - [3.0.1](/releases/3.0.1.md) - - [3.0 GA](/releases/3.0-ga.md) - - [3.0.0-rc.3](/releases/3.0.0-rc.3.md) - - [3.0.0-rc.2](/releases/3.0.0-rc.2.md) - - [3.0.0-rc.1](/releases/3.0.0-rc.1.md) - - [3.0.0-beta.1](/releases/3.0.0-beta.1.md) - - [3.0.0-beta](/releases/3.0beta.md) + - [3.0.14](/releases/release-3.0.14.md) + - [3.0.13](/releases/release-3.0.13.md) + - [3.0.12](/releases/release-3.0.12.md) + - [3.0.11](/releases/release-3.0.11.md) + - [3.0.10](/releases/release-3.0.10.md) + - [3.0.9](/releases/release-3.0.9.md) + - [3.0.8](/releases/release-3.0.8.md) + - [3.0.7](/releases/release-3.0.7.md) + - [3.0.6](/releases/release-3.0.6.md) + - [3.0.5](/releases/release-3.0.5.md) + - [3.0.4](/releases/release-3.0.4.md) + - [3.0.3](/releases/release-3.0.3.md) + - [3.0.2](/releases/release-3.0.2.md) + - [3.0.1](/releases/release-3.0.1.md) + - [3.0 GA](/releases/release-3.0-ga.md) + - [3.0.0-rc.3](/releases/release-3.0.0-rc.3.md) + - [3.0.0-rc.2](/releases/release-3.0.0-rc.2.md) + - [3.0.0-rc.1](/releases/release-3.0.0-rc.1.md) + - [3.0.0-beta.1](/releases/release-3.0.0-beta.1.md) + - [3.0.0-beta](/releases/release-3.0-beta.md) + v2.1 - - [2.1.19](/releases/2.1.19.md) - - [2.1.18](/releases/2.1.18.md) - - [2.1.17](/releases/2.1.17.md) - - [2.1.16](/releases/2.1.16.md) - - [2.1.15](/releases/2.1.15.md) - - [2.1.14](/releases/2.1.14.md) - - [2.1.13](/releases/2.1.13.md) - - [2.1.12](/releases/2.1.12.md) - - [2.1.11](/releases/2.1.11.md) - - [2.1.10](/releases/2.1.10.md) - - [2.1.9](/releases/2.1.9.md) - - [2.1.8](/releases/2.1.8.md) - - [2.1.7](/releases/2.1.7.md) - - [2.1.6](/releases/2.1.6.md) - - [2.1.5](/releases/2.1.5.md) - - [2.1.4](/releases/2.1.4.md) - - [2.1.3](/releases/2.1.3.md) - - [2.1.2](/releases/2.1.2.md) - - [2.1.1](/releases/2.1.1.md) - - [2.1 GA](/releases/2.1ga.md) - - [2.1 RC5](/releases/21rc5.md) - - [2.1 RC4](/releases/21rc4.md) - - [2.1 RC3](/releases/21rc3.md) - - [2.1 RC2](/releases/21rc2.md) - - [2.1 RC1](/releases/21rc1.md) - - [2.1 Beta](/releases/21beta.md) + - [2.1.19](/releases/release-2.1.19.md) + - [2.1.18](/releases/release-2.1.18.md) + - [2.1.17](/releases/release-2.1.17.md) + - [2.1.16](/releases/release-2.1.16.md) + - [2.1.15](/releases/release-2.1.15.md) + - [2.1.14](/releases/release-2.1.14.md) + - [2.1.13](/releases/release-2.1.13.md) + - [2.1.12](/releases/release-2.1.12.md) + - [2.1.11](/releases/release-2.1.11.md) + - [2.1.10](/releases/release-2.1.10.md) + - [2.1.9](/releases/release-2.1.9.md) + - [2.1.8](/releases/release-2.1.8.md) + - [2.1.7](/releases/release-2.1.7.md) + - [2.1.6](/releases/release-2.1.6.md) + - [2.1.5](/releases/release-2.1.5.md) + - [2.1.4](/releases/release-2.1.4.md) + - [2.1.3](/releases/release-2.1.3.md) + - [2.1.2](/releases/release-2.1.2.md) + - [2.1.1](/releases/release-2.1.1.md) + - [2.1 GA](/releases/release-2.1-ga.md) + - [2.1 RC5](/releases/release-2.1-rc.5.md) + - [2.1 RC4](/releases/release-2.1-rc.4.md) + - [2.1 RC3](/releases/release-2.1-rc.3.md) + - [2.1 RC2](/releases/release-2.1-rc.2.md) + - [2.1 RC1](/releases/release-2.1-rc.1.md) + - [2.1 Beta](/releases/release-2.1-beta.md) + v2.0 - - [2.0.11](/releases/2.0.11.md) - - [2.0.10](/releases/2.0.10.md) - - [2.0.9](/releases/209.md) - - [2.0.8](/releases/208.md) - - [2.0.7](/releases/207.md) - - [2.0.6](/releases/206.md) - - [2.0.5](/releases/205.md) - - [2.0.4](/releases/204.md) - - [2.0.3](/releases/203.md) - - [2.0.2](/releases/202.md) - - [2.0.1](/releases/201.md) - - [2.0](/releases/2.0ga.md) - - [2.0 RC5](/releases/2rc5.md) - - [2.0 RC4](/releases/2rc4.md) - - [2.0 RC3](/releases/2rc3.md) - - [2.0 RC1](/releases/2rc1.md) - - [1.1 Beta](/releases/11beta.md) - - [1.1 Alpha](/releases/11alpha.md) + - [2.0.11](/releases/release-2.0.11.md) + - [2.0.10](/releases/release-2.0.10.md) + - [2.0.9](/releases/release-2.0.9.md) + - [2.0.8](/releases/release-2.0.8.md) + - [2.0.7](/releases/release-2.0.7.md) + - [2.0.6](/releases/release-2.0.6.md) + - [2.0.5](/releases/release-2.0.5.md) + - [2.0.4](/releases/release-2.0.4.md) + - [2.0.3](/releases/release-2.0.3.md) + - [2.0.2](/releases/release-2.0.2.md) + - [2.0.1](/releases/release-2.0.1.md) + - [2.0](/releases/release-2.0-ga.md) + - [2.0 RC5](/releases/release-2.0-rc.5.md) + - [2.0 RC4](/releases/release-2.0-rc.4.md) + - [2.0 RC3](/releases/release-2.0-rc.3.md) + - [2.0 RC1](/releases/release-2.0-rc.1.md) + - [1.1 Beta](/releases/release-1.1-beta.md) + - [1.1 Alpha](/releases/release-1.1-alpha.md) + v1.0 - - [1.0](/releases/ga.md) - - [Pre-GA](/releases/prega.md) - - [RC4](/releases/rc4.md) - - [RC3](/releases/rc3.md) - - [RC2](/releases/rc2.md) - - [RC1](/releases/rc1.md) + - [1.0](/releases/release-1.0-ga.md) + - [Pre-GA](/releases/release-pre-ga.md) + - [RC4](/releases/release-rc.4.md) + - [RC3](/releases/release-rc.3.md) + - [RC2](/releases/release-rc.2.md) + - [RC1](/releases/release-rc.1.md) + [术语表](/glossary.md) diff --git a/_index.md b/_index.md index 8eadbfae2620..0afed653de24 100755 --- a/_index.md +++ b/_index.md @@ -11,7 +11,7 @@ TiDB 具备如下特性: - 高度兼容 MySQL - [大多数情况下](/reference/mysql-compatibility.md),无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。 + [大多数情况下](/mysql-compatibility.md),无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。 - 水平弹性扩展 @@ -33,7 +33,7 @@ TiDB 具备如下特性: TiDB 是为云而设计的数据库,支持公有云、私有云和混合云,使部署、配置和维护变得十分简单。 -TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 [TiSpark 项目](/reference/tispark.md)来完成。 +TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 [TiSpark 项目](/tispark-overview.md)来完成。 TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。 @@ -47,9 +47,9 @@ TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间 TiDB 可以部署在本地和云平台上,支持公有云、私有云和混合云。你可以根据实际场景或需求,选择相应的方式来部署 TiDB 集群: -- [使用 TiUP 部署](/how-to/deploy/orchestrated/tiup.md):如果用于生产环境,推荐使用 TiUP 部署 TiDB 集群。 -- [使用 Docker Compose 部署](/how-to/get-started/deploy-tidb-from-docker-compose.md):如果你只是想测试 TiDB、体验 TiDB 的特性,或者用于开发环境,可以使用 Docker Compose 在本地快速部署 TiDB 集群。该部署方式不适用于生产环境。 -- [使用 Docker 部署](/how-to/deploy/orchestrated/docker.md):你可以使用 Docker 部署 TiDB 集群,但该部署方式不适用于生产环境。 +- [使用 TiUP 部署](/production-deployment-using-tiup.md):如果用于生产环境,推荐使用 TiUP 部署 TiDB 集群。 +- [使用 Docker Compose 部署](/deploy-test-cluster-using-docker-compose.md):如果你只是想测试 TiDB、体验 TiDB 的特性,或者用于开发环境,可以使用 Docker Compose 在本地快速部署 TiDB 集群。该部署方式不适用于生产环境。 +- [使用 Docker 部署](/test-deployment-using-docker.md):你可以使用 Docker 部署 TiDB 集群,但该部署方式不适用于生产环境。 - [使用 TiDB Operator 部署](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-tidb-operator/):使用 TiDB Operator 在 Kubernetes 集群上部署生产就绪的 TiDB 集群,支持[部署到 AWS EKS](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-on-aws-eks/)、[部署到谷歌云 GKE (beta)](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-on-gcp-gke/)、[部署到阿里云 ACK](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-on-alibaba-cloud/) 等。 - [使用 TiDB Operator 部署到 Minikube](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-tidb-from-kubernetes-minikube/):你可以使用 TiDB Operator 将 TiDB 集群部署到本地 Minikube 启动的 Kubernetes 集群中。该部署方式不适用于生产环境。 - [使用 TiDB Operator 部署到 kind](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-tidb-from-kubernetes-kind/):你可以使用 TiDB Operator 将 TiDB 集群部署到以 kind 方式启动的 Kubernetes 本地集群中。该部署方式不适用于生产环境。 diff --git a/reference/alert-rules.md b/alert-rules.md similarity index 99% rename from reference/alert-rules.md rename to alert-rules.md index f0bc8fa505fe..faa2ccf89a0b 100644 --- a/reference/alert-rules.md +++ b/alert-rules.md @@ -805,7 +805,7 @@ category: reference ## TiDB Binlog 报警规则 -关于 TiDB Binlog 报警规则的详细描述,参见 [TiDB Binlog 集群监控报警文档](/reference/tidb-binlog/monitor.md#监控报警规则)。 +关于 TiDB Binlog 报警规则的详细描述,参见 [TiDB Binlog 集群监控报警文档](/tidb-binlog/monitor-tidb-binlog-cluster.md#监控报警规则)。 ## Node_exporter 主机报警规则 diff --git a/reference/sql/attributes/auto-random.md b/auto-random.md similarity index 96% rename from reference/sql/attributes/auto-random.md rename to auto-random.md index 52fe3b6ff440..75ec5b1b4f92 100644 --- a/reference/sql/attributes/auto-random.md +++ b/auto-random.md @@ -9,11 +9,11 @@ category: reference > > 当前 `AUTO_RANDOM` 属性为实验功能,**不建议在生产环境中使用**。在后续版本中,`AUTO_RANDOM` 的语法或语义可能会变化。 -使用 `AUTO_RANDOM` 功能前,须在 TiDB 配置文件 `experimental` 部分设置 `allow-auto-random = true`。该参数详情可参见 [`allow-auto-random`](/reference/configuration/tidb-server/configuration-file.md#allow-auto-random)。 +使用 `AUTO_RANDOM` 功能前,须在 TiDB 配置文件 `experimental` 部分设置 `allow-auto-random = true`。该参数详情可参见 [`allow-auto-random`](/tidb-configuration-file.md#allow-auto-random)。 ## 使用场景 -`AUTO_RANDOM` 用于解决大批量写数据入 TiDB 时因含有**整型自增主键列**的表而产生的热点问题。详情参阅 [TiDB 高并发写入场景最佳实践](/reference/best-practices/high-concurrency.md)。 +`AUTO_RANDOM` 用于解决大批量写数据入 TiDB 时因含有**整型自增主键列**的表而产生的热点问题。详情参阅 [TiDB 高并发写入场景最佳实践](/best-practices/high-concurrency-best-practices.md)。 以下面语句建立的表为例: diff --git a/how-to/maintain/backup-and-restore/mydumper-lightning.md b/backup-and-restore-using-mydumper-lightning.md similarity index 82% rename from how-to/maintain/backup-and-restore/mydumper-lightning.md rename to backup-and-restore-using-mydumper-lightning.md index 936641513ec7..a5c3b33d2f73 100644 --- a/how-to/maintain/backup-and-restore/mydumper-lightning.md +++ b/backup-and-restore-using-mydumper-lightning.md @@ -6,7 +6,7 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/'] # 使用 Mydumper/TiDB Lightning 进行备份与恢复 -本文档将详细介绍如何使用 Mydumper/TiDB Lightning 对 TiDB 进行全量备份与恢复。增量备份与恢复可使用 [TiDB Binlog](/reference/tidb-binlog/overview.md)。 +本文档将详细介绍如何使用 Mydumper/TiDB Lightning 对 TiDB 进行全量备份与恢复。增量备份与恢复可使用 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md)。 这里假定 TiDB 服务信息如下: @@ -16,18 +16,18 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/'] 在这个备份恢复过程中,会用到下面的工具: -- [Mydumper](/reference/tools/mydumper.md) 从 TiDB 导出数据 -- [TiDB Lightning](/reference/tools/tidb-lightning/overview.md) 导入数据到 TiDB +- [Mydumper](/mydumper-overview.md) 从 TiDB 导出数据 +- [TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md) 导入数据到 TiDB ## 使用 Mydumper/TiDB Lightning 全量备份恢复数据 `mydumper` 是一个强大的数据备份工具,具体可以参考 [`maxbube/mydumper`](https://github.com/maxbube/mydumper)。 -可使用 [Mydumper](/reference/tools/mydumper.md) 从 TiDB 导出数据进行备份,然后用 [TiDB Lightning](/reference/tools/tidb-lightning/overview.md) 将其导入到 TiDB 里面进行恢复。 +可使用 [Mydumper](/mydumper-overview.md) 从 TiDB 导出数据进行备份,然后用 [TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md) 将其导入到 TiDB 里面进行恢复。 > **注意:** > -> PingCAP 研发团队对 `mydumper` 进行了针对 TiDB 的适配性改造,建议使用 PingCAP 官方提供的 [Mydumper](/reference/tools/mydumper.md)。由于使用 `mysqldump` 进行数据备份和恢复都要耗费许多时间,这里也并不推荐。 +> PingCAP 研发团队对 `mydumper` 进行了针对 TiDB 的适配性改造,建议使用 PingCAP 官方提供的 [Mydumper](/mydumper-overview.md)。由于使用 `mysqldump` 进行数据备份和恢复都要耗费许多时间,这里也并不推荐。 ### Mydumper/TiDB Lightning 全量备份恢复最佳实践 @@ -59,7 +59,7 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/'] 就再执行两步命令: -1. 执行 `mydumper` 命令前,查询 TiDB 集群的 [GC](/reference/garbage-collection/overview.md) 值并使用 MySQL 客户端将其调整为合适的值: +1. 执行 `mydumper` 命令前,查询 TiDB 集群的 [GC](/garbage-collection-overview.md) 值并使用 MySQL 客户端将其调整为合适的值: {{< copyable "sql" >}} @@ -92,4 +92,4 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/'] ## 向 TiDB 恢复数据 -使用 TiDB Lightning 将之前导出的数据导入到 TiDB,完成恢复操作。具体的使用方法见 [TiDB Lightning 使用文档](/reference/tools/tidb-lightning/tidb-backend.md) +使用 TiDB Lightning 将之前导出的数据导入到 TiDB,完成恢复操作。具体的使用方法见 [TiDB Lightning 使用文档](/tidb-lightning/tidb-lightning-tidb-backend.md) diff --git a/how-to/get-started/explore-sql.md b/basic-sql-operations.md similarity index 97% rename from how-to/get-started/explore-sql.md rename to basic-sql-operations.md index 32599b670888..1b2a9c7d5e6f 100644 --- a/how-to/get-started/explore-sql.md +++ b/basic-sql-operations.md @@ -5,7 +5,7 @@ category: how-to # TiDB 中的基本 SQL 操作 -成功部署 TiDB 集群之后,便可以在 TiDB 中执行 SQL 语句了。因为 TiDB 兼容 MySQL,你可以使用 MySQL 客户端连接 TiDB,并且[大多数情况下](/reference/mysql-compatibility.md)可以直接执行 MySQL 语句。 +成功部署 TiDB 集群之后,便可以在 TiDB 中执行 SQL 语句了。因为 TiDB 兼容 MySQL,你可以使用 MySQL 客户端连接 TiDB,并且[大多数情况下](/mysql-compatibility.md)可以直接执行 MySQL 语句。 本文介绍 CRUD 操作等基本的 SQL 语句。完整的 SQL 语句列表,参见 [TiDB SQL 语法详解](https://pingcap.github.io/sqlgram/)。 diff --git a/benchmark/sysbench-v2.md b/benchmark/benchmark-sysbench-v2.md similarity index 100% rename from benchmark/sysbench-v2.md rename to benchmark/benchmark-sysbench-v2.md diff --git a/benchmark/sysbench-v3.md b/benchmark/benchmark-sysbench-v3.md similarity index 100% rename from benchmark/sysbench-v3.md rename to benchmark/benchmark-sysbench-v3.md diff --git a/benchmark/how-to-run-sysbench.md b/benchmark/benchmark-tidb-using-sysbench.md similarity index 99% rename from benchmark/how-to-run-sysbench.md rename to benchmark/benchmark-tidb-using-sysbench.md index 6d162549f54c..f9e0138141eb 100644 --- a/benchmark/how-to-run-sysbench.md +++ b/benchmark/benchmark-tidb-using-sysbench.md @@ -9,7 +9,7 @@ category: benchmark ## 测试环境 -- [硬件要求](/how-to/deploy/hardware-recommendations.md) +- [硬件要求](/hardware-and-software-requirements.md) - 参考 [TiDB 部署文档](https://pingcap.com/docs-cn/v3.0/how-to/deploy/orchestrated/ansible/)部署 TiDB 集群。在 3 台服务器的条件下,建议每台机器部署 1 个 TiDB,1 个 PD,和 1 个 TiKV 实例。关于磁盘,以 32 张表、每张表 10M 行数据为例,建议 TiKV 的数据目录所在的磁盘空间大于 512 GB。 对于单个 TiDB 的并发连接数,建议控制在 500 以内,如需增加整个系统的并发压力,可以增加 TiDB 实例,具体增加的 TiDB 个数视测试压力而定。 @@ -86,7 +86,7 @@ sync-log = false capacity = "30GB" ``` -更详细的 TiKV 参数调优请参考 [TiKV 性能参数调优](/reference/performance/tune-tikv.md)。 +更详细的 TiKV 参数调优请参考 [TiKV 性能参数调优](/tune-tikv-performance.md)。 ## 测试过程 diff --git a/benchmark/how-to-run-tpcc.md b/benchmark/benchmark-tidb-using-tpcc.md similarity index 95% rename from benchmark/how-to-run-tpcc.md rename to benchmark/benchmark-tidb-using-tpcc.md index c28c4a64b260..8681650313ae 100644 --- a/benchmark/how-to-run-tpcc.md +++ b/benchmark/benchmark-tidb-using-tpcc.md @@ -106,7 +106,7 @@ enabled = true ### TiKV 配置 -开始可以使用基本的配置,压测运行后可以通过观察 Grafana 并参考 [TiKV 调优说明](/reference/performance/tune-tikv.md)进行调整。 +开始可以使用基本的配置,压测运行后可以通过观察 Grafana 并参考 [TiKV 调优说明](/tune-tikv-performance.md)进行调整。 ### BenchmarkSQL 配置 @@ -183,11 +183,11 @@ fileLocation=/home/user/csv/tpcc. # 存储 csv 文件的目录绝对路径 + #### 通过 Lightning 导入 -通过 Lightning 导入数据请参考 [Lightning 部署执行](/reference/tools/tidb-lightning/deployment.md)章节。这里我们介绍下通过 TiDB Ansible 部署 Lightning 导入数据的方法。 +通过 Lightning 导入数据请参考 [Lightning 部署执行](/tidb-lightning/deploy-tidb-lightning.md)章节。这里我们介绍下通过 TiDB Ansible 部署 Lightning 导入数据的方法。 ##### 修改 inventory.ini -这里最好手动指定清楚部署的 IP、端口、目录,避免各种冲突问题带来的异常,其中 import_dir 的磁盘空间参考 [Lightning 部署执行](/reference/tools/tidb-lightning/deployment.md),data_source_dir 就是存储上一节 csv 数据的目录。 +这里最好手动指定清楚部署的 IP、端口、目录,避免各种冲突问题带来的异常,其中 import_dir 的磁盘空间参考 [Lightning 部署执行](/tidb-lightning/deploy-tidb-lightning.md),data_source_dir 就是存储上一节 csv 数据的目录。 ```ini [importer_server] diff --git a/benchmark/tpch.md b/benchmark/benchmark-tpch.md similarity index 100% rename from benchmark/tpch.md rename to benchmark/benchmark-tpch.md diff --git a/benchmark/add-index-with-load.md b/benchmark/online-workloads-and-add-index-operations.md similarity index 100% rename from benchmark/add-index-with-load.md rename to benchmark/online-workloads-and-add-index-operations.md diff --git a/benchmark/sysbench.md b/benchmark/sysbench.md deleted file mode 100644 index 41c6f79e10e0..000000000000 --- a/benchmark/sysbench.md +++ /dev/null @@ -1,210 +0,0 @@ ---- -title: TiDB Sysbench 性能测试报告 - v1.0.0 -category: benchmark -draft: true ---- - -# TiDB Sysbench 性能测试报告 - v1.0.0 - -## 测试目的 - -测试 TiDB 在 OLTP 场景下的性能以及水平扩展能力。 - -> **注意:** -> -> 不同的测试环境可能使测试结果发生改变。 - -## 测试版本、时间、地点 - -TiDB 版本:v1.0.0 -时间:2017 年 10 月 20 日 -地点:北京 - -## 测试环境 - -IDC 机器 - -| 类别 | 名称 | -| :--------: | :---------: | -| OS | linux (CentOS 7.3.1611) | -| CPU | 40 vCPUs, Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz | -| RAM | 128GB | -| DISK | 1.5T SSD \* 2 + Optane SSD \* 1 | - -Sysbench 版本: 1.0.6 - -测试脚本: - -## 测试方案 - -### 场景一:sysbench 标准性能测试 - -测试表结构 - -``` -CREATE TABLE `sbtest` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `k` int(10) unsigned NOT NULL DEFAULT '0', - `c` char(120) NOT NULL DEFAULT '', - `pad` char(60) NOT NULL DEFAULT '', - PRIMARY KEY (`id`), - KEY `k_1` (`k`) -) ENGINE=InnoDB -``` - -部署方案以及配置参数 - -``` -// TiDB 部署方案 -172.16.20.4 4*tikv 1*tidb 1*sysbench -172.16.20.6 4*tikv 1*tidb 1*sysbench -172.16.20.7 4*tikv 1*tidb 1*sysbench -172.16.10.8 1*tidb 1*pd 1*sysbench - -// 每个物理节点有三块盘: -data3: 2 tikv (Optane SSD) -data2: 1 tikv -data1: 1 tikv - -// TiKV 参数配置 -sync-log = false -grpc-concurrency = 8 -grpc-raft-conn-num = 24 -[defaultcf] -block-cache-size = "12GB" -[writecf] -block-cache-size = "5GB" -[raftdb.defaultcf] -block-cache-size = "2GB" - -// Mysql 部署方案 -// 分别使用半同步复制和异步复制,部署两副本 -172.16.20.4 master -172.16.20.6 slave -172.16.20.7 slave -172.16.10.8 1*sysbench -Mysql version: 5.6.37 - -// Mysql 参数配置 -thread_cache_size = 64 -innodb_buffer_pool_size = 64G -innodb_file_per_table = 1 -innodb_flush_log_at_trx_commit = 0 -datadir = /data3/mysql -max_connections = 2000 -``` - -* 标准 oltp 测试 - -| - | table count | table size | sysbench threads | tps | qps | latency(avg / .95) | -| :---: | :---: | :---: | :---: | :---: | :---: | :---: | -| TiDB | 32 | 100 万 | 64 * 4 | 3834 | 76692 | 67.04 ms / 110.88 ms | -| TiDB | 32 | 100 万 | 128 * 4 | 4172 | 83459 | 124.00 ms / 194.21 ms | -| TiDB | 32 | 100 万 | 256 * 4 | 4577 | 91547 | 228.36 ms / 334.02 ms | -| TiDB | 32 | 500 万 | 256 * 4 | 4032 | 80657 | 256.62 ms / 443.88 ms | -| TiDB | 32 | 1000 万 | 256 * 4 | 3811 | 76233 | 269.46 ms / 505.20 ms | -| Mysql | 32 | 100 万 | 64 | 2392 | 47845 | 26.75 ms / 73.13 ms | -| Mysql | 32 | 100 万 | 128 | 2493 | 49874 | 51.32 ms / 173.58 ms | -| Mysql | 32 | 100 万 | 256 | 2561 | 51221 | 99.95 ms / 287.38 ms | -| Mysql | 32 | 500 万 | 256 | 1902 | 38045 | 134.56 ms / 363.18 ms | -| Mysql | 32 | 1000 万 | 256 | 1770 | 35416 | 144.55 ms / 383.33 ms | - -![sysbench-01](/media/sysbench-01.png) - -![sysbench-02](/media/sysbench-02.png) - -* 标准 select 测试 - -| - | table count | table size | sysbench threads |qps | latency(avg / .95) | -| :---: | :---: | :---: | :---: | :---: | :---: | -| TiDB | 32 | 100 万 | 64 * 4 | 160299 | 1.61ms / 50.06 ms | -| TiDB | 32 | 100 万 | 128 * 4 | 183347 | 2.85 ms / 8.66 ms | -| TiDB | 32 | 100 万 | 256 * 4 | 196515 | 5.42 ms / 14.43 ms | -| TiDB | 32 | 500 万 | 256 * 4 | 187628 | 5.66 ms / 15.04 ms | -| TiDB | 32 | 1000 万 | 256 * 4 | 187440 | 5.65 ms / 15.37 ms | -| Mysql | 32 | 100 万 | 64 | 359572 | 0.18 ms / 0.45 ms | -| Mysql | 32 | 100 万 | 128 | 410426 |0.31 ms / 0.74 ms | -| Mysql | 32 | 100 万 | 256 | 396867 | 0.64 ms / 1.58 ms | -| Mysql | 32 | 500 万 | 256 | 386866 | 0.66 ms / 1.64 ms | -| Mysql | 32 | 1000 万 | 256 | 388273 | 0.66 ms / 1.64 ms | - -![sysbench-03](/media/sysbench-03.png) - -![sysbench-04](/media/sysbench-04.png) - -* 标准 insert 测试 - -| - | table count | table size | sysbench threads | qps | latency(avg / .95) | -| :---: | :---: | :---: | :---: | :---: | :---: | -| TiDB | 32 | 100 万 | 64 * 4 | 25308 | 10.12 ms / 25.40 ms | -| TiDB | 32 | 100 万 | 128 * 4 | 28773 | 17.80 ms / 44.58 ms | -| TiDB | 32 | 100 万 | 256 * 4 | 32641 | 31.38 ms / 73.47 ms | -| TiDB | 32 | 500 万 | 256 * 4 | 30430 | 33.65 ms / 79.32 ms | -| TiDB | 32 | 1000 万 | 256 * 4 | 28925 | 35.41 ms / 78.96 ms | -| Mysql | 32 | 100 万 | 64 | 14806 | 4.32 ms / 9.39 ms | -| Mysql | 32 | 100 万 | 128 | 14884 | 8.58 ms / 21.11 ms | -| Mysql | 32 | 100 万 | 256 | 14508 | 17.64 ms / 44.98 ms | -| Mysql | 32 | 500 万 | 256 | 10593 | 24.16 ms / 82.96 ms | -| Mysql | 32 | 1000 万 | 256 | 9813 | 26.08 ms / 94.10 ms | - -![sysbench-05](/media/sysbench-05.png) - -![sysbench-06](/media/sysbench-06.png) - -### 场景二:TiDB 水平扩展能力测试 - -部署方案以及配置参数 - -``` -// TiDB 部署方案 -172.16.20.3 4*tikv -172.16.10.2 1*tidb 1*pd 1*sysbench - -每个物理节点有三块盘: -data3: 2 tikv (Optane SSD) -data2: 1 tikv -data1: 1 tikv - -// TiKV 参数配置 -sync-log = false -grpc-concurrency = 8 -grpc-raft-conn-num = 24 -[defaultcf] -block-cache-size = "12GB" -[writecf] -block-cache-size = "5GB" -[raftdb.defaultcf] -block-cache-size = "2GB" -``` - -* 标准 oltp 测试 - -| - | table count | table size | sysbench threads | tps | qps | latency(avg / .95) | -| :---: | :---: | :---: | :---: | :---: | :---: | :---: | -| 1 物理节点 TiDB | 32 | 100 万 | 256 * 1 | 2495 | 49902 | 102.42 ms / 125.52 ms | -| 2 物理节点 TiDB | 32 | 100 万 | 256 * 2 | 5007 | 100153 | 102.23 ms / 125.52 ms | -| 4 物理节点 TiDB | 32 | 100 万 | 256 * 4 | 8984 | 179692 | 114.96 ms / 176.73 ms | -| 6 物理节点 TiDB | 32 | 500 万 | 256 * 6 | 12953 | 259072 | 117.80 ms / 200.47 ms | - -![sysbench-07](/media/sysbench-07.png) - -* 标准 select 测试 - -| - | table count | table size | sysbench threads | qps | latency(avg / .95) | -| :---: | :---: | :---: | :---: | :---: | :---: | -| 1 物理节点 TiDB | 32 | 100 万 | 256 * 1 | 71841 | 3.56 ms / 8.74 ms | -| 2 物理节点 TiDB | 32 | 100 万 | 256 * 2 | 146615 | 3.49 ms / 8.74 ms | -| 4 物理节点 TiDB | 32 | 100 万 | 256 * 4 | 289933 | 3.53 ms / 8.74 ms | -| 6 物理节点 TiDB | 32 | 500 万 | 256 * 6 | 435313 | 3.55 ms / 9.17 ms | - -![sysbench-08](/media/sysbench-08.png) - -* 标准 insert 测试 - -| - | table count | table size | sysbench threads | qps | latency(avg / .95) | -| :---: | :---: | :---: | :---: | :---: | :---: | -| 3 物理节点 TiKV | 32 | 100 万 |256 * 3 | 40547 | 18.93 ms / 38.25 ms | -| 5 物理节点 TiKV | 32 | 100 万 | 256 * 3 | 60689 | 37.96 ms / 29.9 ms | -| 7 物理节点 TiKV | 32 | 100 万 | 256 * 3 | 80087 | 9.62 ms / 21.37 ms | - -![sysbench-09](/media/sysbench-09.png) diff --git a/benchmark/tpch-v2.md b/benchmark/tpch-v2.md deleted file mode 100644 index 688a9d0a7e26..000000000000 --- a/benchmark/tpch-v2.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: TiDB TPC-H 50G 性能测试报告 -category: benchmark ---- - -# TiDB TPC-H 50G 性能测试报告 - -## 测试目的 - -测试 TiDB 在 OLAP 场景下 2.0 和 2.1 版本的性能对比。 - -> **注意:** -> -> 不同的测试环境可能使测试结果发生改变。 - -## 测试环境 - -### 测试机器信息 - -1. 系统信息 - - | 机器 IP | 操作系统 | 内核版本 | 文件系统类型 | - |--------------|------------------------|------------------------------|--------------| - | 10.0.1.4 | CentOS 7.5.1804 64bit | 3.10.0-862.3.3.el7.x86\_64 | ext4 | - | 10.0.1.5 | CentOS 7.5.1804 64bit | 3.10.0-862.3.3.el7.x86\_64 | ext4 | - | 10.0.1.6 | CentOS 7.5.1804 64bit | 3.10.0-862.3.3.el7.x86\_64 | ext4 | - | 10.0.1.7 | CentOS 7.5.1804 64bit | 3.10.0-862.3.3.el7.x86\_64 | ext4 | - | 10.0.1.8 | CentOS 7.5.1804 64bit | 3.10.0-862.3.3.el7.x86\_64 | ext4 | - | 10.0.1.9 | CentOS 7.5.1804 64bit | 3.10.0-862.3.3.el7.x86\_64 | ext4 | - -2. 硬件信息 - - | 类别 | 10.0.1.4 | 10.0.1.5, 10.0.1.6, 10.0.1.7, 10.0.1.8, 10.0.1.9 | - |------------|------------------------------------------------------|------------------------------------------------------| - | CPU | 16 vCPUs, Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz | 8 vCPUs, Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz | - | 内存 | 110G | 55G | - | 磁盘 | 221G SSD | 111G SSD | - | 网卡 | 万兆网卡, 10000Mb/s | 万兆网卡, 10000Mb/s | - -### TPC-H - -[tidb-bench/tpch](https://github.com/pingcap/tidb-bench/tree/master/tpch) - -### 集群拓扑 - -| 机器 IP | 部署的实例 | -|----------|------------| -| 10.0.1.5 | TiKV \* 1 | -| 10.0.1.6 | TiKV \* 1 | -| 10.0.1.7 | TiKV \* 1 | -| 10.0.1.8 | TiKV \* 1 | -| 10.0.1.9 | TiKV \* 1 | -| 10.0.1.4 | PD \* 1 | -| 10.0.1.4 | TiDB \* 1 | - -### TiDB 版本信息 - -TiDB 2.0: - -| 组件名 | 版本号 | commit hash | -|--------|-------------|--------------------------------------------| -| TiDB | v2.0.7 | 29ec059cb3b7d14b6f52c2f219f94a89570162bc | -| TiKV | v2.0.7 | d0b8cd7c7f62f06e7ef456837bd32a47da1ca4cd | -| PD | v2.0.5 | b64716707b7279a4ae822be767085ff17b5f3fea | - -TiDB 2.1: - -| 组件名 | 版本号 | commit hash | -|--------|-------------|--------------------------------------------| -| TiDB | v2.1.0-rc.2 | 16864f95b47f859ed6104555ccff0387abdc2429 | -| TiKV | v2.1.0-rc.2 | 8458ce53ebbd434c48baac6373fe0f0a43a54005 | -| PD | v2.1.0-rc.2 | 55db505e8f35e8ab4e00efd202beb27a8ecc40fb | - -## 测试结果 - -| Query ID | TiDB 2.0 | TiDB 2.1 | -|-----------|----------------|----------------| -| 1 | 121.550595999s | 91.4755480289s | -| 2 | 53.0638680458s | 23.1186130047s | -| 3 | 75.7236940861s | 61.790802002s | -| 4 | 30.2647120953s | 26.3483440876s | -| 6 | 51.4850790501s | 34.6432199478s | -| 7 | 216.787364006s | 94.9856910706s | -| 8 | 188.717588902s | 181.852752209s | -| 9 | 546.438174009s | 414.462754965s | -| 10 | 109.978317022s | 37.0369961262s | -| 11 | 42.9398438931s | 37.6951580048s | -| 12 | 60.455039978s | 40.2236878872s | -| 13 | 230.278712988s | 70.2887151241s | -| 14 | 61.2673521042s | 35.8372960091s | -| 16 | 30.2539310455s | 18.5897550583s | -| 17 | 3200.70173788s | 263.095014811s | -| 18 | 1035.59847498s | 296.360667944s | -| 19 | 54.3732938766s | 40.4523630142s | -| 20 | 105.094577074s | 53.2429068089s | -| 21 | 389.883709908s | 361.034544945s | -| 22 | 64.0494630337s | 65.7153418064s | - -![TPC-H Query Result](/media/tpch-query-result-v2.png) - -说明: - -- 图中橙色为 Release 2.1,蓝色为 Release 2.0,纵坐标是 Query 的处理时间,越低越好 -- Query 15 因为 2.1 和 2.0 都还未支持视图,所以未列出结果 -- Query 5 因为 Join Order 问题长时间未跑出结果来,所以未列出结果 diff --git a/benchmark/sysbench-v4.md b/benchmark/v3.0-performance-benchmarking-with-sysbench.md similarity index 100% rename from benchmark/sysbench-v4.md rename to benchmark/v3.0-performance-benchmarking-with-sysbench.md diff --git a/benchmark/tpcc.md b/benchmark/v3.0-performance-benchmarking-with-tpcc.md similarity index 100% rename from benchmark/tpcc.md rename to benchmark/v3.0-performance-benchmarking-with-tpcc.md diff --git a/benchmark/tpcc-v2.md b/benchmark/v4.0-performance-benchmarking-with-tpcc.md similarity index 100% rename from benchmark/tpcc-v2.md rename to benchmark/v4.0-performance-benchmarking-with-tpcc.md diff --git a/reference/best-practices/grafana-monitor.md b/best-practices/grafana-monitor-best-practices.md similarity index 95% rename from reference/best-practices/grafana-monitor.md rename to best-practices/grafana-monitor-best-practices.md index 63d71a240d16..2d1a7fbc7e9f 100644 --- a/reference/best-practices/grafana-monitor.md +++ b/best-practices/grafana-monitor-best-practices.md @@ -6,7 +6,7 @@ category: reference # 使用 Grafana 监控 TiDB 的最佳实践 -[使用 TiDB Ansible 部署 TiDB 集群](/how-to/deploy/orchestrated/ansible.md)时,会同时部署一套 [Grafana + Prometheus 的监控平台](/how-to/monitor/overview.md),用于收集和展示 TiDB 集群各个组件和机器的 metric 信息。本文主要介绍使用 TiDB 监控的最佳实践,旨在帮助 TiDB 用户高效利用丰富的 metric 信息来分析 TiDB 的集群状态或进行故障诊断。 +[使用 TiDB Ansible 部署 TiDB 集群](/online-deployment-using-ansible.md)时,会同时部署一套 [Grafana + Prometheus 的监控平台](/tidb-monitoring-framework.md),用于收集和展示 TiDB 集群各个组件和机器的 metric 信息。本文主要介绍使用 TiDB 监控的最佳实践,旨在帮助 TiDB 用户高效利用丰富的 metric 信息来分析 TiDB 的集群状态或进行故障诊断。 ## 监控架构 diff --git a/reference/best-practices/haproxy.md b/best-practices/haproxy-best-practices.md similarity index 100% rename from reference/best-practices/haproxy.md rename to best-practices/haproxy-best-practices.md diff --git a/reference/best-practices/high-concurrency.md b/best-practices/high-concurrency-best-practices.md similarity index 87% rename from reference/best-practices/high-concurrency.md rename to best-practices/high-concurrency-best-practices.md index bd872a56cb44..18bbf5818cad 100644 --- a/reference/best-practices/high-concurrency.md +++ b/best-practices/high-concurrency-best-practices.md @@ -74,7 +74,7 @@ INSERT INTO TEST_HOTSPOT(id, age, user_name, email) values(%v, %v, '%v', '%v'); ![QPS3](/media/best-practices/QPS3.png) -[Raft store CPU](/reference/key-monitoring-metrics/tikv-dashboard.md) 为 `raftstore` 线程的 CPU 使用率,通常代表写入的负载。在这个场景下 tikv-3 为 Raft Leader,tikv-0 和 tikv-1 是 Raft 的 Follower,其他的 TiKV 节点的负载几乎为空。 +[Raft store CPU](/grafana-tikv-dashboard.md) 为 `raftstore` 线程的 CPU 使用率,通常代表写入的负载。在这个场景下 tikv-3 为 Raft Leader,tikv-0 和 tikv-1 是 Raft 的 Follower,其他的 TiKV 节点的负载几乎为空。 从 PD 的监控中也可以证明热点的产生: @@ -106,7 +106,7 @@ INSERT INTO TEST_HOTSPOT(id, age, user_name, email) values(%v, %v, '%v', '%v'); 为了达到场景理论中的最佳性能,可跳过这个预热阶段,直接将 Region 切分为预期的数量,提前调度到集群的各个节点中。 -TiDB 在 v3.0.x 以及 v2.1.13 后支持一个叫 [Split Region](/reference/sql/statements/split-region.md) 的新特性。这个特性提供了新的语法: +TiDB 在 v3.0.x 以及 v2.1.13 后支持一个叫 [Split Region](/sql-statements/sql-statement-split-region.md) 的新特性。这个特性提供了新的语法: {{< copyable "sql" >}} @@ -166,15 +166,15 @@ SPLIT TABLE TEST_HOTSPOT BETWEEN (0) AND (9223372036854775807) REGIONS 128; 可以看到已经消除了明显的热点问题了。 -本示例仅为一个简单的表,还有索引热点的问题需要考虑。读者可参阅 [Split Region](/reference/sql/statements/split-region.md) 文档来了解如何预先切散索引相关的 Region。 +本示例仅为一个简单的表,还有索引热点的问题需要考虑。读者可参阅 [Split Region](/sql-statements/sql-statement-split-region.md) 文档来了解如何预先切散索引相关的 Region。 ### 更复杂的热点问题 **问题一:** -如果表没有主键或者主键不是整数类型,而且用户也不想自己生成一个随机分布的主键 ID 的话,TiDB 内部有一个隐式的 `_tidb_rowid` 列作为行 ID。在不使用 `SHARD_ROW_ID_BITS` 的情况下,`_tidb_rowid` 列的值基本也为单调递增,此时也会有写热点存在(参阅 [`SHARD_ROW_ID_BITS` 的详细说明](/reference/configuration/tidb-server/tidb-specific-variables.md#shard_row_id_bits))。 +如果表没有主键或者主键不是整数类型,而且用户也不想自己生成一个随机分布的主键 ID 的话,TiDB 内部有一个隐式的 `_tidb_rowid` 列作为行 ID。在不使用 `SHARD_ROW_ID_BITS` 的情况下,`_tidb_rowid` 列的值基本也为单调递增,此时也会有写热点存在(参阅 [`SHARD_ROW_ID_BITS` 的详细说明](/tidb-specific-system-variables.md#shard_row_id_bits))。 -要避免由 `_tidb_rowid` 带来的写入热点问题,可以在建表时,使用 `SHARD_ROW_ID_BITS` 和 `PRE_SPLIT_REGIONS` 这两个建表选项(参阅 [`PRE_SPLIT_REGIONS` 的详细说明](/reference/sql/statements/split-region.md#pre_split_regions))。 +要避免由 `_tidb_rowid` 带来的写入热点问题,可以在建表时,使用 `SHARD_ROW_ID_BITS` 和 `PRE_SPLIT_REGIONS` 这两个建表选项(参阅 [`PRE_SPLIT_REGIONS` 的详细说明](/sql-statements/sql-statement-split-region.md#pre_split_regions))。 `SHARD_ROW_ID_BITS` 用于将 `_tidb_rowid` 列生成的行 ID 随机打散。`pre_split_regions` 用于在建完表后预先进行 Split region。 @@ -199,11 +199,11 @@ create table t (a int, b int) shard_row_id_bits = 4 pre_split_regions=3; 如果表的主键为整数类型,并且该表使用了 `AUTO_INCREMENT` 来保证主键唯一性(不需要连续或递增)的表而言,由于 TiDB 直接使用主键行值作为 `_tidb_rowid`,此时无法使用 `SHARD_ROW_ID_BITS` 来打散热点。 -要解决上述热点问题,可以利用 `AUTO_RANDOM` 列属性(参阅 [`AUTO_RANDOM` 的详细说明](/reference/sql/attributes/auto-random.md)),将 `AUTO_INCREMENT` 改为 `AUTO_RANDOM`,插入数据时让 TiDB 自动为整型主键列分配一个值,消除行 ID 的连续性,从而达到打散热点的目的。 +要解决上述热点问题,可以利用 `AUTO_RANDOM` 列属性(参阅 [`AUTO_RANDOM` 的详细说明](/auto-random.md)),将 `AUTO_INCREMENT` 改为 `AUTO_RANDOM`,插入数据时让 TiDB 自动为整型主键列分配一个值,消除行 ID 的连续性,从而达到打散热点的目的。 ## 参数配置 -TiDB 2.1 版本中在 SQL 层引入了 [latch 机制](/reference/configuration/tidb-server/configuration-file.md#txn-local-latches),用于在写入冲突比较频繁的场景中提前发现事务冲突,减少 TiDB 和 TiKV 事务提交时写写冲突导致的重试。通常,跑批场景使用的是存量数据,所以并不存在事务的写入冲突。可以把 TiDB 的 latch 功能关闭,以减少为细小对象分配内存: +TiDB 2.1 版本中在 SQL 层引入了 [latch 机制](/tidb-configuration-file.md#txn-local-latches),用于在写入冲突比较频繁的场景中提前发现事务冲突,减少 TiDB 和 TiKV 事务提交时写写冲突导致的重试。通常,跑批场景使用的是存量数据,所以并不存在事务的写入冲突。可以把 TiDB 的 latch 功能关闭,以减少为细小对象分配内存: ``` [txn-local-latches] diff --git a/reference/best-practices/java-app.md b/best-practices/java-app-best-practices.md similarity index 100% rename from reference/best-practices/java-app.md rename to best-practices/java-app-best-practices.md diff --git a/reference/best-practices/massive-regions.md b/best-practices/massive-regions-best-practices.md similarity index 97% rename from reference/best-practices/massive-regions.md rename to best-practices/massive-regions-best-practices.md index 2dd6c904779f..d527da6268c8 100644 --- a/reference/best-practices/massive-regions.md +++ b/best-practices/massive-regions-best-practices.md @@ -116,9 +116,9 @@ TiKV 默认将 `raftstore.store-pool-size` 配置为 `2`。如果 Raftstore 出 >> pd-ctl config set merge-schedule-limit 8 ``` -详情请参考[如何配置 Region Merge](https://github.com/tikv/tikv/blob/master/docs/how-to/configure/region-merge.md) 和 [PD 配置文件描述](/reference/configuration/pd-server/configuration-file.md#schedule)。 +详情请参考[如何配置 Region Merge](https://github.com/tikv/tikv/blob/master/docs/how-to/configure/region-merge.md) 和 [PD 配置文件描述](/pd-configuration-file.md#schedule)。 -同时,默认配置的 `Region Merge` 的参数设置较为保守,可以根据需求参考 [PD 调度策略最佳实践](/reference/best-practices/pd-scheduling.md#region-merge-速度慢) 中提供的方法加快 `Region Merge` 过程的速度。 +同时,默认配置的 `Region Merge` 的参数设置较为保守,可以根据需求参考 [PD 调度策略最佳实践](/best-practices/pd-scheduling-best-practices.md#region-merge-速度慢) 中提供的方法加快 `Region Merge` 过程的速度。 ## 其他问题和解决方案 diff --git a/reference/best-practices/pd-scheduling.md b/best-practices/pd-scheduling-best-practices.md similarity index 98% rename from reference/best-practices/pd-scheduling.md rename to best-practices/pd-scheduling-best-practices.md index e28912572a6d..737b3da20273 100644 --- a/reference/best-practices/pd-scheduling.md +++ b/best-practices/pd-scheduling-best-practices.md @@ -105,7 +105,7 @@ Region merge 指的是为了避免删除数据后大量小甚至空的 Region ## 查询调度状态 -你可以通过观察 PD 相关的 Metrics 或使用 pd-ctl 工具等方式查看调度系统状态。更具体的信息可以参考 [PD 监控](/reference/key-monitoring-metrics/pd-dashboard.md)和 [PD Control](/reference/tools/pd-control.md)。 +你可以通过观察 PD 相关的 Metrics 或使用 pd-ctl 工具等方式查看调度系统状态。更具体的信息可以参考 [PD 监控](/grafana-pd-dashboard.md)和 [PD Control](/pd-control.md)。 ### Operator 状态 @@ -158,7 +158,7 @@ Region merge 指的是为了避免删除数据后大量小甚至空的 Region ## 调度策略控制 -使用 pd-ctl 可以从以下三个方面来调整 PD 的调度策略。更具体的信息可以参考 [PD Control](/reference/tools/pd-control.md)。 +使用 pd-ctl 可以从以下三个方面来调整 PD 的调度策略。更具体的信息可以参考 [PD Control](/pd-control.md)。 ### 启停调度器 diff --git a/reference/tools/br/br.md b/br/backup-and-restore-tool.md similarity index 96% rename from reference/tools/br/br.md rename to br/backup-and-restore-tool.md index 1f6c9fe29e02..dad3176bef9a 100644 --- a/reference/tools/br/br.md +++ b/br/backup-and-restore-tool.md @@ -7,7 +7,7 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/br/'] # 使用 BR 进行备份与恢复 -Backup & Restore(以下简称 BR)是 TiDB 分布式备份恢复的命令行工具,用于对 TiDB 集群进行数据备份和恢复。相比 [`mydumper`/`loader`](/how-to/maintain/backup-and-restore/mydumper-lightning.md),BR 更适合大数据量的场景。本文档介绍了 BR 的使用限制、工作原理、命令行描述、备份恢复用例以及最佳实践。 +Backup & Restore(以下简称 BR)是 TiDB 分布式备份恢复的命令行工具,用于对 TiDB 集群进行数据备份和恢复。相比 [`mydumper`/`loader`](/backup-and-restore-using-mydumper-lightning.md),BR 更适合大数据量的场景。本文档介绍了 BR 的使用限制、工作原理、命令行描述、备份恢复用例以及最佳实践。 ## 使用限制 @@ -22,7 +22,7 @@ Backup & Restore(以下简称 BR)是 TiDB 分布式备份恢复的命令行 ## 下载 Binary -详见[下载链接](/reference/tools/download.md#快速备份和恢复br)。 +详见[下载链接](/download-ecosystem-tools.md#快速备份和恢复br)。 ## 工作原理 @@ -144,7 +144,7 @@ BR 由多层命令组成。目前,BR 包含 `backup`、`restore` 和 `version` 使用 `br backup` 命令来备份集群数据。可选择添加 `full` 或 `table` 子命令来指定备份的范围:全部集群数据或单张表的数据。 -如果备份时间可能超过设定的 [`tikv_gc_life_time`](/reference/garbage-collection/configuration.md#tikv_gc_life_time)(默认 `10m0s`,即表示 10 分钟),则需要将该参数调大。 +如果备份时间可能超过设定的 [`tikv_gc_life_time`](/garbage-collection-configuration.md#tikv_gc_life_time)(默认 `10m0s`,即表示 10 分钟),则需要将该参数调大。 例如,将 `tikv_gc_life_time` 调整为 `720h`: @@ -360,7 +360,7 @@ br restore full \ - 在使用共享存储时,推荐使用高吞吐的存储硬件,因为存储的吞吐会限制备份或恢复的速度。 - 推荐在业务低峰时执行备份操作,这样能最大程度地减少对业务的影响。 -更多最佳实践内容,参见 [BR 备份与恢复场景示例](/reference/tools/br/use-cases.md)。 +更多最佳实践内容,参见 [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md)。 ## 备份和恢复示例 diff --git a/reference/tools/br/use-cases.md b/br/backup-and-restore-use-cases.md similarity index 94% rename from reference/tools/br/use-cases.md rename to br/backup-and-restore-use-cases.md index 4e2c0eb41aee..659e732ad285 100644 --- a/reference/tools/br/use-cases.md +++ b/br/backup-and-restore-use-cases.md @@ -6,7 +6,7 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/br-best-practices/',' # BR 备份与恢复场景示例 -[Backup & Restore](/reference/tools/br/br.md)(下文简称 BR)一款分布式的快速备份和恢复工具。本文展示了[四种备份和恢复场景](#使用场景)下的 BR 操作过程,以帮助读者达到以下目标: +[Backup & Restore](/br/backup-and-restore-tool.md)(下文简称 BR)一款分布式的快速备份和恢复工具。本文展示了[四种备份和恢复场景](#使用场景)下的 BR 操作过程,以帮助读者达到以下目标: * 正确使用网络盘或本地盘进行备份或恢复 * 通过相关监控指标了解备份或恢复的状态 @@ -15,11 +15,11 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/br-best-practices/',' > **注意:** > -> 使用 BR 时应注意[使用限制](/reference/tools/br/br.md#使用限制)。 +> 使用 BR 时应注意[使用限制](/br/backup-and-restore-tool.md#使用限制)。 ## 目标读者 -读者需要对 TiDB 和 TiKV 有一定的了解。在阅读本文前,推荐先阅读[使用 BR 进行备份与恢复](/reference/tools/br/br.md)。 +读者需要对 TiDB 和 TiKV 有一定的了解。在阅读本文前,推荐先阅读[使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md)。 ## 环境准备 @@ -27,7 +27,7 @@ aliases: ['/docs-cn/dev/how-to/maintain/backup-and-restore/br-best-practices/',' ### 部署方式 -推荐使用 [TiDB Ansible](/how-to/deploy/orchestrated/ansible.md) 部署 TiDB 集群,再下载 [TiDB Toolkit](/reference/tools/download.md#快速备份和恢复br) 获取 BR 应用。 +推荐使用 [TiDB Ansible](/online-deployment-using-ansible.md) 部署 TiDB 集群,再下载 [TiDB Toolkit](/download-ecosystem-tools.md#快速备份和恢复br) 获取 BR 应用。 ### 集群版本 @@ -67,9 +67,9 @@ BR 可以直接将命令下发到 TiKV 集群来执行备份和恢复,不依 ### 备份前的准备工作 -`br backup` 命令的详细使用方法请参考 [BR 命令行描述](/reference/tools/br/br.md#br-命令行描述)。 +`br backup` 命令的详细使用方法请参考 [BR 命令行描述](/br/backup-and-restore-tool.md#br-命令行描述)。 -1. 运行 `br backup` 命令前,查询 TiDB 集群的 [`tikv_gc_life_time`](/reference/garbage-collection/configuration.md#tikv_gc_life_time) 配置项的值,并使用 MySQL 客户端将该项调整至合适的值,确保备份期间不会发生 [Garbage Collection](/reference/garbage-collection/overview.md) (GC)。 +1. 运行 `br backup` 命令前,查询 TiDB 集群的 [`tikv_gc_life_time`](/garbage-collection-configuration.md#tikv_gc_life_time) 配置项的值,并使用 MySQL 客户端将该项调整至合适的值,确保备份期间不会发生 [Garbage Collection](/garbage-collection-overview.md) (GC)。 {{< copyable "sql" >}} @@ -88,7 +88,7 @@ BR 可以直接将命令下发到 TiKV 集群来执行备份和恢复,不依 ### 恢复前的准备工作 -`br restore` 命令的详细使用方法请参考 [BR 命令行描述](/reference/tools/br/br.md#br-命令行描述)。 +`br restore` 命令的详细使用方法请参考 [BR 命令行描述](/br/backup-and-restore-tool.md#br-命令行描述)。 > **注意:** > diff --git a/reference/security/cert-based-authentication.md b/certificate-authentication.md similarity index 100% rename from reference/security/cert-based-authentication.md rename to certificate-authentication.md diff --git a/reference/sql/characterset-and-collation.md b/character-set-and-collation.md similarity index 97% rename from reference/sql/characterset-and-collation.md rename to character-set-and-collation.md index 384fec45407d..4f23691c86d8 100644 --- a/reference/sql/characterset-and-collation.md +++ b/character-set-and-collation.md @@ -280,7 +280,7 @@ SELECT _utf8mb4'string' COLLATE utf8mb4_general_ci; ## 排序规则支持 -排序规则的语法支持和语义支持受到配置项 [`new_collations_enabled_on_first_bootstrap`](/reference/configuration/tidb-server/configuration-file.md#new_collations_enabled_on_first_bootstrap) 的影响。这里语法支持和语义支持有所区别。语法支持是指 TiDB 能够解析和设置排序规则;而语义支持是指 TiDB 能够在比较字符串时正确地使用排序规则。 +排序规则的语法支持和语义支持受到配置项 [`new_collations_enabled_on_first_bootstrap`](/tidb-configuration-file.md#new_collations_enabled_on_first_bootstrap) 的影响。这里语法支持和语义支持有所区别。语法支持是指 TiDB 能够解析和设置排序规则;而语义支持是指 TiDB 能够在比较字符串时正确地使用排序规则。 在 4.0 版本之前,TiDB 只提供了旧的排序规则框架,能够在语法上支持的绝大部分 MySQL 排序规则,但语义上所有的排序规则都当成二进制排序规则。 diff --git a/reference/performance/check-cluster-status-using-sql-statements.md b/check-cluster-status-using-sql-statements.md similarity index 61% rename from reference/performance/check-cluster-status-using-sql-statements.md rename to check-cluster-status-using-sql-statements.md index 6a6b5184a78f..cc06dcf4c403 100644 --- a/reference/performance/check-cluster-status-using-sql-statements.md +++ b/check-cluster-status-using-sql-statements.md @@ -9,19 +9,19 @@ category: reference `INFORMATION_SCHEMA` 中提供了如下几个系统表,用于查询集群状态,诊断常见的集群问题。 -- [`TABLES`](/reference/system-databases/information-schema.md#tables-表) -- [`TIDB_INDEXES`](/reference/system-databases/information-schema.md#tidb_indexes-表) -- [`ANALYZE_STATUS`](/reference/system-databases/information-schema.md#analyze_status-表) -- [`TIDB_HOT_REGIONS`](/reference/system-databases/information-schema.md#tidb_hot_regions-表) -- [`TIKV_STORE_STATUS`](/reference/system-databases/information-schema.md#tikv_store_status-表) -- [`TIKV_REGION_STATUS`](/reference/system-databases/information-schema.md#tikv_region_status-表) -- [`TIKV_REGION_PEERS`](/reference/system-databases/information-schema.md#tikv_region_peers-表) +- [`TABLES`](/system-tables/system-table-information-schema.md#tables-表) +- [`TIDB_INDEXES`](/system-tables/system-table-information-schema.md#tidb_indexes-表) +- [`ANALYZE_STATUS`](/system-tables/system-table-information-schema.md#analyze_status-表) +- [`TIDB_HOT_REGIONS`](/system-tables/system-table-information-schema.md#tidb_hot_regions-表) +- [`TIKV_STORE_STATUS`](/system-tables/system-table-information-schema.md#tikv_store_status-表) +- [`TIKV_REGION_STATUS`](/system-tables/system-table-information-schema.md#tikv_region_status-表) +- [`TIKV_REGION_PEERS`](/system-tables/system-table-information-schema.md#tikv_region_peers-表) 除此之外,执行下列语句也可获得对排查问题或查询集群状态有用的信息: - `ADMIN SHOW DDL` 可以获得是 `DDL owner` 角色的 TiDB 的 ID 及 `IP:PORT` 等具体信息。 -- `SHOW ANALYZE STATUS` 和 [`ANALYZE_STATUS`](/reference/system-databases/information-schema.md#analyze_status-表) 表的功能相同。 +- `SHOW ANALYZE STATUS` 和 [`ANALYZE_STATUS`](/system-tables/system-table-information-schema.md#analyze_status-表) 表的功能相同。 - 特殊的 `EXPLAIN` 语句: - `EXPLAIN ANALYZE` 语句可以获得一个 SQL 语句执行中的一些具体信息。 - `EXPLAIN FOR CONNECTION` 可以获得一个连接中最后执行的查询的执行计划。可以配合 `SHOW PROCESSLIST` 使用。 - - 关于 `EXPLAIN` 相关的更具体的信息,参考文档[理解 TiDB 执行计划](/reference/performance/understanding-the-query-execution-plan.md)。 + - 关于 `EXPLAIN` 相关的更具体的信息,参考文档[理解 TiDB 执行计划](/query-execution-plan.md)。 diff --git a/reference/configuration/pd-server/configuration.md b/command-line-flags-for-pd-configuration.md similarity index 100% rename from reference/configuration/pd-server/configuration.md rename to command-line-flags-for-pd-configuration.md diff --git a/reference/configuration/tidb-server/configuration.md b/command-line-flags-for-tidb-configuration.md similarity index 98% rename from reference/configuration/tidb-server/configuration.md rename to command-line-flags-for-tidb-configuration.md index 26e1477b3493..8a87c99159cf 100644 --- a/reference/configuration/tidb-server/configuration.md +++ b/command-line-flags-for-tidb-configuration.md @@ -23,7 +23,7 @@ category: reference + 配置文件 + 默认:"" -+ 如果你指定了配置文件,TiDB 会首先读取配置文件的配置。如果对应的配置在命令行参数里面也存在,TiDB 就会使用命令行参数的配置来覆盖配置文件中的配置。详细的配置项请参阅 [TiDB 配置文件描述](/reference/configuration/tidb-server/configuration-file.md)。 ++ 如果你指定了配置文件,TiDB 会首先读取配置文件的配置。如果对应的配置在命令行参数里面也存在,TiDB 就会使用命令行参数的配置来覆盖配置文件中的配置。详细的配置项请参阅 [TiDB 配置文件描述](/tidb-configuration-file.md)。 ## `--cors` diff --git a/reference/configuration/tikv-server/configuration.md b/command-line-flags-for-tikv-configuration.md similarity index 100% rename from reference/configuration/tikv-server/configuration.md rename to command-line-flags-for-tikv-configuration.md diff --git a/reference/sql/language-structure/comment-syntax.md b/comment-syntax.md similarity index 95% rename from reference/sql/language-structure/comment-syntax.md rename to comment-syntax.md index ad009e210ad5..a4df1f8e152d 100644 --- a/reference/sql/language-structure/comment-syntax.md +++ b/comment-syntax.md @@ -119,6 +119,6 @@ SELECT /*+ hint */ FROM ...; 由于 hint 包含在类似 /*+ xxx */ 的 comment 里,MySQL 客户端在 5.7.7 之前,会默认把 comment 清除掉,如果需要在旧的客户端使用 hint,需要在启动客户端时加上 --comments 选项,例如 mysql -h 127.0.0.1 -P 4000 -uroot --comments -TiDB 支持的相关优化器 hint 详见 [Optimizer Hints](/reference/performance/optimizer-hints.md)。 +TiDB 支持的相关优化器 hint 详见 [Optimizer Hints](/optimizer-hints.md)。 更多[细节](https://dev.mysql.com/doc/refman/5.7/en/comments.html)。 diff --git a/how-to/configure/memory-control.md b/configure-memory-usage.md similarity index 100% rename from how-to/configure/memory-control.md rename to configure-memory-usage.md diff --git a/how-to/configure/placement-rules.md b/configure-placement-rules.md similarity index 98% rename from how-to/configure/placement-rules.md rename to configure-placement-rules.md index d481fa4c2215..decfbcfbcf5b 100644 --- a/how-to/configure/placement-rules.md +++ b/configure-placement-rules.md @@ -48,7 +48,7 @@ Placement Rules 示意图如下所示: ## 配置规则操作步骤 -本节的操作步骤以使用 [pd-ctl](/reference/tools/pd-control.md) 工具为例,涉及到的命令也支持通过 HTTP API 进行调用。 +本节的操作步骤以使用 [pd-ctl](/pd-control.md) 工具为例,涉及到的命令也支持通过 HTTP API 进行调用。 ### 开启 Placement Rules 特性 diff --git a/how-to/configure/time-zone.md b/configure-time-zone.md similarity index 100% rename from how-to/configure/time-zone.md rename to configure-time-zone.md diff --git a/reference/supported-clients.md b/connectors-and-apis.md similarity index 100% rename from reference/supported-clients.md rename to connectors-and-apis.md diff --git a/reference/sql/constraints.md b/constraints.md similarity index 95% rename from reference/sql/constraints.md rename to constraints.md index 40ff7f55dc3e..43932955df94 100644 --- a/reference/sql/constraints.md +++ b/constraints.md @@ -7,7 +7,7 @@ category: reference TiDB 支持的基本约束与 MySQL 的基本相同,但有以下区别: -- 默认对唯一约束进行[惰性检查](/reference/transactions/overview.md#事务的惰性检查)。通过在事务提交时再进行批量检查,TiDB 能够减少网络开销、提升性能。您可通过设置 `tidb_constraint_check_in_place` 为 `TRUE` 改变此行为。 +- 默认对唯一约束进行[惰性检查](/transaction-overview.md#事务的惰性检查)。通过在事务提交时再进行批量检查,TiDB 能够减少网络开销、提升性能。您可通过设置 `tidb_constraint_check_in_place` 为 `TRUE` 改变此行为。 - TiDB 支持创建外键约束,但不会在 DML 语句中对外键进行约束(即外键约束不生效)。 diff --git a/reference/sql/data-types/date-and-time.md b/data-type-date-and-time.md similarity index 100% rename from reference/sql/data-types/date-and-time.md rename to data-type-date-and-time.md diff --git a/reference/sql/data-types/default-values.md b/data-type-default-values.md similarity index 100% rename from reference/sql/data-types/default-values.md rename to data-type-default-values.md diff --git a/reference/sql/data-types/json.md b/data-type-json.md similarity index 83% rename from reference/sql/data-types/json.md rename to data-type-json.md index aab6c2fd66ac..4057da6408e4 100644 --- a/reference/sql/data-types/json.md +++ b/data-type-json.md @@ -25,4 +25,4 @@ INSERT INTO city (id,detail) VALUES (1, '{"name": "Beijing", "population": 100}' SELECT id FROM city WHERE population >= 100; ``` -有关 JSON 的更多信息,可以参考[JSON 函数](/reference/sql/functions-and-operators/json-functions.md)和[生成列](/reference/sql/generated-columns.md)。 +有关 JSON 的更多信息,可以参考[JSON 函数](/functions-and-operators/json-functions.md)和[生成列](/generated-columns.md)。 diff --git a/reference/sql/data-types/numeric.md b/data-type-numeric.md similarity index 100% rename from reference/sql/data-types/numeric.md rename to data-type-numeric.md diff --git a/reference/sql/data-types/overview.md b/data-type-overview.md similarity index 72% rename from reference/sql/data-types/overview.md rename to data-type-overview.md index 43ed6515d101..cb1eacbacd77 100644 --- a/reference/sql/data-types/overview.md +++ b/data-type-overview.md @@ -5,7 +5,7 @@ category: reference # 数据类型概述 -TiDB 支持除空间类型 (`SPATIAL`) 之外的所有 MySQL 数据类型,包括[数值型类型](/reference/sql/data-types/numeric.md)、[字符串类型](/reference/sql/data-types/string.md)、[时间和日期类型](/reference/sql/data-types/date-and-time.md)、[JSON 类型](/reference/sql/data-types/json.md)。 +TiDB 支持除空间类型 (`SPATIAL`) 之外的所有 MySQL 数据类型,包括[数值型类型](/data-type-numeric.md)、[字符串类型](/data-type-string.md)、[时间和日期类型](/data-type-date-and-time.md)、[JSON 类型](/data-type-json.md)。 数据类型定义一般为 `T(M[, D])`,其中: diff --git a/reference/sql/data-types/string.md b/data-type-string.md similarity index 100% rename from reference/sql/data-types/string.md rename to data-type-string.md diff --git a/how-to/get-started/deploy-tidb-from-docker-compose.md b/deploy-test-cluster-using-docker-compose.md similarity index 97% rename from how-to/get-started/deploy-tidb-from-docker-compose.md rename to deploy-test-cluster-using-docker-compose.md index 6bd7e1a2abe7..b1ce59e1fc79 100644 --- a/how-to/get-started/deploy-tidb-from-docker-compose.md +++ b/deploy-test-cluster-using-docker-compose.md @@ -9,7 +9,7 @@ category: how-to > **警告:** > -> 对于生产环境,不要使用 Docker Compose 进行部署,而应[使用 TiUP 部署 TiDB 集群](/how-to/deploy/orchestrated/tiup.md)。 +> 对于生产环境,不要使用 Docker Compose 进行部署,而应[使用 TiUP 部署 TiDB 集群](/production-deployment-using-tiup.md)。 ## 准备环境 @@ -203,4 +203,4 @@ docker-compose exec tispark-master /opt/spark/bin/pyspark && docker-compose exec tispark-master /opt/spark/bin/sparkR ``` -更多关于 TiSpark 的信息,参见 [TiSpark 的详细文档](/how-to/get-started/tispark.md)。 +更多关于 TiSpark 的信息,参见 [TiSpark 的详细文档](/get-started-with-tispark.md)。 diff --git a/reference/tools/download.md b/download-ecosystem-tools.md similarity index 82% rename from reference/tools/download.md rename to download-ecosystem-tools.md index 8be30b693ffa..0a4850162c7f 100644 --- a/reference/tools/download.md +++ b/download-ecosystem-tools.md @@ -9,7 +9,7 @@ category: reference ## TiDB Binlog -如需下载最新版本的 [TiDB Binlog](/reference/tidb-binlog/overview.md),直接下载 TiDB 安装包即可,因为 TiDB Binlog 包含在 TiDB 安装包中。 +如需下载最新版本的 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md),直接下载 TiDB 安装包即可,因为 TiDB Binlog 包含在 TiDB 安装包中。 以下表格中也提供了 Kafka 版本的 TiDB Binlog 下载链接。 @@ -24,7 +24,7 @@ category: reference ## TiDB Lightning -使用下表中的链接下载 [TiDB Lightning](/reference/tools/tidb-lightning/overview.md): +使用下表中的链接下载 [TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md): | 安装包 | 操作系统 | 架构 | SHA256 校验和 | |:---|:---|:---|:---| @@ -36,7 +36,7 @@ category: reference ## 快速备份和恢复(BR) -使用下表中的链接下载 [快速备份和恢复(BR)](/reference/tools/br/br.md): +使用下表中的链接下载 [快速备份和恢复(BR)](/br/backup-and-restore-tool.md): | 安装包 | 操作系统 | 架构 | SHA256 校验和 | |:---|:---|:---|:---| @@ -60,7 +60,7 @@ category: reference ## Syncer,Loader 和 Mydumper -如需下载最新版本的 [Syncer](/reference/tools/syncer.md),[Loader](/reference/tools/loader.md) 或 [Mydumper](/reference/tools/mydumper.md),直接下载 tidb-enterprise-tools 安装包即可,因为这些工具均包含在此安装包中。 +如需下载最新版本的 [Syncer](/syncer-overview.md),[Loader](/loader-overview.md) 或 [Mydumper](/mydumper-overview.md),直接下载 tidb-enterprise-tools 安装包即可,因为这些工具均包含在此安装包中。 | 安装包 | 操作系统 | 架构 | SHA256 校验和 | |:---|:---|:---|:---| @@ -72,4 +72,4 @@ tidb-enterprise-tools 安装包包含以下工具: - Loader - Mydumper - ddl_checker -- [sync-diff-inspector](/reference/tools/sync-diff-inspector/overview.md) +- [sync-diff-inspector](/sync-diff-inspector/sync-diff-inspector-overview.md) diff --git a/reference/tools/user-guide.md b/ecosystem-tool-user-guide.md similarity index 79% rename from reference/tools/user-guide.md rename to ecosystem-tool-user-guide.md index 9464a32a7fe1..0aa0e77b4089 100644 --- a/reference/tools/user-guide.md +++ b/ecosystem-tool-user-guide.md @@ -21,7 +21,7 @@ TiDB 生态工具可以分为几种: #### 全量导入工具 Loader(停止维护,不推荐使用) -[Loader](/reference/tools/loader.md) 是一款轻量级的全量数据导入工具,数据以 SQL 的形式导入到 TiDB 中。目前这个工具正在逐步被 [TiDB Lightning](#全量导入工具-tidb-lightning) 替换掉,参见 [TiDB Lightning TiDB-backend 文档](/reference/tools/tidb-lightning/tidb-backend.md#从-loader-迁移到-tidb-lightning-tidb-backend)。 +[Loader](/loader-overview.md) 是一款轻量级的全量数据导入工具,数据以 SQL 的形式导入到 TiDB 中。目前这个工具正在逐步被 [TiDB Lightning](#全量导入工具-tidb-lightning) 替换掉,参见 [TiDB Lightning TiDB-backend 文档](/tidb-lightning/tidb-lightning-tidb-backend.md#从-loader-迁移到-tidb-lightning-tidb-backend)。 以下是 Loader 的一些基本信息: @@ -32,7 +32,7 @@ TiDB 生态工具可以分为几种: #### 全量导入工具 TiDB Lightning -[TiDB Lightning](/reference/tools/tidb-lightning/overview.md) 是将全量数据快速导入到一个新的 TiDB 集群的工具。 +[TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md) 是将全量数据快速导入到一个新的 TiDB 集群的工具。 注意用 TiDB Lightning 导入数据到 TiDB 的时候,有两种模式: @@ -49,17 +49,17 @@ TiDB 生态工具可以分为几种: #### 备份和恢复工具 BR -[BR](/reference/tools/br/br.md) 是 TiDB 进行分布式备份恢复的命令行工具,用于对 TiDB 集群进行数据备份和恢复。相比 Mydumper 和 Loader,BR 更适合大数据量的场景,有更高效的备份和恢复效率。 +[BR](/br/backup-and-restore-tool.md) 是 TiDB 进行分布式备份恢复的命令行工具,用于对 TiDB 集群进行数据备份和恢复。相比 Mydumper 和 Loader,BR 更适合大数据量的场景,有更高效的备份和恢复效率。 以下是 BR 的一些基本信息: -- [备份输出和恢复输入的文件类型](/reference/tools/br/br.md#备份文件类型):SST + `backupmeta` 文件 +- [备份输出和恢复输入的文件类型](/br/backup-and-restore-tool.md#备份文件类型):SST + `backupmeta` 文件 - 适用 TiDB 版本:v3.1 及 v4.0 - Kubernetes 支持:已支持,文档撰写中 #### 增量导入工具 Syncer(已停止维护,不推荐使用) -[Syncer](/reference/tools/syncer.md) 是将 MySQL/MariaDB 增量 binlog 数据实时复制导入到 TiDB 的工具。目前推荐使用 [TiDB Data Migration](#增量导入工具-tidb-data-migration) 替换该工具。 +[Syncer](/syncer-overview.md) 是将 MySQL/MariaDB 增量 binlog 数据实时复制导入到 TiDB 的工具。目前推荐使用 [TiDB Data Migration](#增量导入工具-tidb-data-migration) 替换该工具。 以下是 Syncer 的一些基本信息: @@ -83,7 +83,7 @@ TiDB 生态工具可以分为几种: #### 全量导出工具 Mydumper -[Mydumper](/reference/tools/mydumper.md) 用于对 MySQL/TiDB 进行全量逻辑备份。 +[Mydumper](/mydumper-overview.md) 用于对 MySQL/TiDB 进行全量逻辑备份。 以下是 Mydumper 的一些基本信息: @@ -94,7 +94,7 @@ TiDB 生态工具可以分为几种: #### 增量导出工具 TiDB Binlog -[TiDB Binlog](/reference/tidb-binlog/overview.md) 是收集 TiDB 的 binlog,并提供准实时同步和备份的工具。 +[TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 是收集 TiDB 的 binlog,并提供准实时同步和备份的工具。 以下是 TiDB Binlog 的一些基本信息: @@ -117,7 +117,7 @@ Mydumper 和 Loader 都是在逻辑层面进行备份和恢复,效率较低; Loader -> TiDB Lightning: -Loader 使用 SQL 的方式进行全量数据恢复,效率较低。TiDB Lightning 将数据直接导入 TiKV,大大提升了全量数据恢复的效率,适合将大量数据(TB 级别以上数据)快速导入到一个全新的 TiDB 集群中;且 TiDB Lightning 集成了 Loader 的逻辑导入数据功能,参见 [TiDB Lightning TiDB-backend 文档](/reference/tools/tidb-lightning/tidb-backend.md#从-loader-迁移到-tidb-lightning-tidb-backend),支持在线导入数据。 +Loader 使用 SQL 的方式进行全量数据恢复,效率较低。TiDB Lightning 将数据直接导入 TiKV,大大提升了全量数据恢复的效率,适合将大量数据(TB 级别以上数据)快速导入到一个全新的 TiDB 集群中;且 TiDB Lightning 集成了 Loader 的逻辑导入数据功能,参见 [TiDB Lightning TiDB-backend 文档](/tidb-lightning/tidb-lightning-tidb-backend.md#从-loader-迁移到-tidb-lightning-tidb-backend),支持在线导入数据。 ### MySQL 数据迁移 @@ -127,7 +127,7 @@ Loader 使用 SQL 的方式进行全量数据恢复,效率较低。TiDB Lightn - Loader -> TiDB Lightning: - TiDB Lightning 集成了 Loader 的逻辑导入数据功能,参见 [TiDB Lightning TiDB-backend 文档](/reference/tools/tidb-lightning/tidb-backend.md#从-loader-迁移到-tidb-lightning-tidb-backend),由 TiDB Lightning 统一提供全量数据恢复功能。 + TiDB Lightning 集成了 Loader 的逻辑导入数据功能,参见 [TiDB Lightning TiDB-backend 文档](/tidb-lightning/tidb-lightning-tidb-backend.md#从-loader-迁移到-tidb-lightning-tidb-backend),由 TiDB Lightning 统一提供全量数据恢复功能。 ## 数据迁移解决方案 diff --git a/how-to/secure/enable-tls-between-components.md b/enable-tls-between-components.md similarity index 94% rename from how-to/secure/enable-tls-between-components.md rename to enable-tls-between-components.md index b830798a689b..45cbff9f26a9 100644 --- a/how-to/secure/enable-tls-between-components.md +++ b/enable-tls-between-components.md @@ -24,7 +24,7 @@ MySQL Client 与 TiDB 之间使用一套证书,TiDB 集群组件之间使用 有多种工具可以生成自签名证书,如 `openssl`,`easy-rsa`,`cfssl`。 - 这里提供一个使用 `cfssl` 生成证书的示例:[生成自签名证书](/how-to/secure/generate-self-signed-certificates.md)。 + 这里提供一个使用 `cfssl` 生成证书的示例:[生成自签名证书](/generate-self-signed-certificates.md)。 2. 配置证书。 @@ -134,7 +134,7 @@ MySQL Client 与 TiDB 之间使用一套证书,TiDB 集群组件之间使用 ### MySQL 与 TiDB 间开启 TLS -请参考 [使用加密连接](/how-to/secure/enable-tls-clients.md)。 +请参考 [使用加密连接](/encrypted-connections-with-tls-protocols.md)。 ## 开启数据加密存储 @@ -166,7 +166,7 @@ MySQL Client 与 TiDB 之间使用一套证书,TiDB 集群组件之间使用 > **注意:** > -> 若使用 [Lightning](/reference/tools/tidb-lightning/overview.md) 向集群导入数据,如果目标集群开启了加密功能,Lightning 生成的 sst 文件也必须是加密的格式。 +> 若使用 [Lightning](/tidb-lightning/tidb-lightning-overview.md) 向集群导入数据,如果目标集群开启了加密功能,Lightning 生成的 sst 文件也必须是加密的格式。 ### 使用限制 diff --git a/how-to/secure/enable-tls-clients.md b/encrypted-connections-with-tls-protocols.md similarity index 86% rename from how-to/secure/enable-tls-clients.md rename to encrypted-connections-with-tls-protocols.md index e1630ce4d745..8000dfce2390 100644 --- a/how-to/secure/enable-tls-clients.md +++ b/encrypted-connections-with-tls-protocols.md @@ -31,15 +31,15 @@ TiDB 的加密连接支持默认是关闭的,必须在 TiDB 服务端通过配 > **注意:** > -> 如果登录用户已配置使用 [TiDB 证书鉴权功能](/reference/security/cert-based-authentication.md#配置登陆时需要校验的用户证书信息)校验用户证书,也会隐式要求对应用户必须使用加密连接连接 TiDB。 +> 如果登录用户已配置使用 [TiDB 证书鉴权功能](/certificate-authentication.md#配置登陆时需要校验的用户证书信息)校验用户证书,也会隐式要求对应用户必须使用加密连接连接 TiDB。 ## 配置 TiDB 启用加密连接支持 在启动 TiDB 时,至少需要在配置文件中同时指定 `ssl-cert` 和 `ssl-key` 参数,才能使 TiDB 服务端接受加密连接。还可以指定 `ssl-ca` 参数进行客户端身份验证(请参见[配置启用身份验证](#配置启用身份验证)章节)。 -- [`ssl-cert`](/reference/configuration/tidb-server/configuration-file.md#ssl-cert):指定 SSL 证书文件路径 -- [`ssl-key`](/reference/configuration/tidb-server/configuration-file.md#ssl-key):指定证书文件对应的私钥 -- [`ssl-ca`](/reference/configuration/tidb-server/configuration-file.md#ssl-ca):可选,指定受信任的 CA 证书文件路径 +- [`ssl-cert`](/tidb-configuration-file.md#ssl-cert):指定 SSL 证书文件路径 +- [`ssl-key`](/tidb-configuration-file.md#ssl-key):指定证书文件对应的私钥 +- [`ssl-ca`](/tidb-configuration-file.md#ssl-ca):可选,指定受信任的 CA 证书文件路径 参数指定的文件都为 PEM 格式。另外目前 TiDB 尚不支持加载有密码保护的私钥,因此必须提供一个没有密码的私钥文件。若提供的证书或私钥无效,则 TiDB 服务端将照常启动,但并不支持客户端加密连接到 TiDB 服务端。 @@ -77,7 +77,7 @@ ssl-key = "certs/server-key.pem" ## 重加载证书、密钥和 CA -在需要替换证书、密钥或 CA 时,可以在完成对应文件替换后,对运行中的 TiDB 实例执行 [`ALTER INSTANCE RELOAD TLS`](/reference/sql/statements/alter-instance.md) 语句从原配置的证书 ([`ssl-cert`](/reference/configuration/tidb-server/configuration-file.md#ssl-cert))、密钥 ([`ssl-key`](/reference/configuration/tidb-server/configuration-file.md#ssl-key)) 和 CA ([`ssl-ca`](/reference/configuration/tidb-server/configuration-file.md#ssl-ca)) 的路径重新加证书、密钥和 CA,而无需重启 TiDB 实例。 +在需要替换证书、密钥或 CA 时,可以在完成对应文件替换后,对运行中的 TiDB 实例执行 [`ALTER INSTANCE RELOAD TLS`](/sql-statements/sql-statement-alter-instance.md) 语句从原配置的证书 ([`ssl-cert`](/tidb-configuration-file.md#ssl-cert))、密钥 ([`ssl-key`](/tidb-configuration-file.md#ssl-key)) 和 CA ([`ssl-ca`](/tidb-configuration-file.md#ssl-ca)) 的路径重新加证书、密钥和 CA,而无需重启 TiDB 实例。 新加载的证书密钥和 CA 将在语句执行成功后对新建立的连接生效,不会影响语句执行前已建立的连接。 @@ -109,7 +109,7 @@ create user 'u1'@'%' require x509; > **注意:** > -> 如果登录用户已配置使用 [TiDB 证书鉴权功能](/reference/security/cert-based-authentication.md#配置登陆时需要校验的用户证书信息)校验用户证书,也会隐式要求对应用户需进行身份验证。 +> 如果登录用户已配置使用 [TiDB 证书鉴权功能](/certificate-authentication.md#配置登陆时需要校验的用户证书信息)校验用户证书,也会隐式要求对应用户需进行身份验证。 ## 检查当前连接是否是加密连接 diff --git a/reference/error-codes.md b/error-codes.md similarity index 97% rename from reference/error-codes.md rename to error-codes.md index 011e736b37aa..4c0ab905a9fa 100644 --- a/reference/error-codes.md +++ b/error-codes.md @@ -25,11 +25,11 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 * Error Number: 8004 - 单个事务过大,原因及解决方法请参考[这里](/faq/tidb.md#433-transaction-too-large-是什么原因怎么解决) + 单个事务过大,原因及解决方法请参考[这里](/faq/tidb-faq.md#433-transaction-too-large-是什么原因怎么解决) * Error Number: 8005 - 事务在 TiDB 中遇到了写入冲突,原因及解决方法请参考[这里](/faq/tidb.md#九故障排除) + 事务在 TiDB 中遇到了写入冲突,原因及解决方法请参考[这里](/faq/tidb-faq.md#九故障排除) * Error Number: 8018 @@ -407,7 +407,7 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 * Error Number: 9007 - 事务在 TiKV 中遇到了写入冲突,原因及解决方法请参考[这里](/faq/tidb.md#九故障排除) + 事务在 TiKV 中遇到了写入冲突,原因及解决方法请参考[这里](/faq/tidb-faq.md#九故障排除) * Error Number: 9008 @@ -415,4 +415,4 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 ## 故障诊断 -参见[故障诊断文档](/how-to/troubleshoot/cluster-setup.md)以及 [FAQ](/faq/tidb.md)。 +参见[故障诊断文档](/troubleshoot-tidb-cluster.md)以及 [FAQ](/faq/tidb-faq.md)。 diff --git a/reference/performance/execution-plan-bind.md b/execution-plan-binding.md similarity index 94% rename from reference/performance/execution-plan-bind.md rename to execution-plan-binding.md index e4a131748596..e758b4eab2c9 100644 --- a/reference/performance/execution-plan-bind.md +++ b/execution-plan-binding.md @@ -5,7 +5,7 @@ category: reference # 执行计划绑定 -在[优化器 Hints](/reference/performance/optimizer-hints.md) 中介绍了可以通过 Hint 的方式选择指定的执行计划,但有的时候需要在不修改 SQL 语句的情况下干预执行计划的选择。执行计划绑定提供了一系列功能使得可以在不修改 SQL 语句的情况下选择指定的执行计划。 +在[优化器 Hints](/optimizer-hints.md) 中介绍了可以通过 Hint 的方式选择指定的执行计划,但有的时候需要在不修改 SQL 语句的情况下干预执行计划的选择。执行计划绑定提供了一系列功能使得可以在不修改 SQL 语句的情况下选择指定的执行计划。 ## 语法 @@ -122,7 +122,7 @@ SHOW [GLOBAL | SESSION] BINDINGS [ShowLikeOrWhere]; > **注意:** > -> 自动绑定功能依赖于 [Statement Summary](/reference/performance/statement-summary.md),因此在使用自动绑定之前需打开 Statement Summary 开关。 +> 自动绑定功能依赖于 [Statement Summary](/statement-summary-tables.md),因此在使用自动绑定之前需打开 Statement Summary 开关。 开启自动绑定功能后,每隔 `bind-info-lease`(默认值为 `3s`)会遍历一次 Statement Summary 中的历史 SQL 语句,并为至少出现两次的 SQL 语句自动创建绑定。 diff --git a/reference/sql/language-structure/expression-syntax.md b/expression-syntax.md similarity index 100% rename from reference/sql/language-structure/expression-syntax.md rename to expression-syntax.md diff --git a/faq/tidb.md b/faq/tidb-faq.md similarity index 92% rename from faq/tidb.md rename to faq/tidb-faq.md index 30c76be29dba..70a9d5e678f2 100755 --- a/faq/tidb.md +++ b/faq/tidb-faq.md @@ -35,7 +35,7 @@ TiDB 使用起来很简单,可以将 TiDB 集群当成 MySQL 来用,你可 TiDB 目前还不支持触发器、存储过程、自定义函数、外键,除此之外,TiDB 支持绝大部分 MySQL 5.7 的语法。 -详情参见[与 MySQL 兼容性对比](/reference/mysql-compatibility.md)。 +详情参见[与 MySQL 兼容性对比](/mysql-compatibility.md)。 #### 1.1.7 TiDB 具备高可用的特性吗? @@ -49,7 +49,7 @@ TiDB 实现了快照隔离 (Snapshot Isolation) 级别的一致性。为与 MySQ #### 1.1.9 TiDB 支持分布式事务吗? -支持。无论是一个地方的几个节点,还是[跨多个数据中心的多个节点](/how-to/deploy/geographic-redundancy/overview.md),TiDB 均支持 ACID 分布式事务。 +支持。无论是一个地方的几个节点,还是[跨多个数据中心的多个节点](/geo-redundancy-deployment.md),TiDB 均支持 ACID 分布式事务。 TiDB 事务模型灵感源自 Google Percolator 模型,主体是一个两阶段提交协议,并进行了一些实用的优化。该模型依赖于一个时间戳分配器,为每个事务分配单调递增的时间戳,这样就检测到事务冲突。在 TiDB 集群中,[PD](/architecture.md#pd-server) 承担时间戳分配器的角色。 @@ -71,7 +71,7 @@ TiDB 事务模型灵感源自 Google Percolator 模型,主体是一个两阶 #### 1.1.14 TiDB 对哪些 MySQL variables 兼容? -详细可参考[系统变量](/reference/configuration/tidb-server/mysql-variables.md)。 +详细可参考[系统变量](/system-variables.md)。 #### 1.1.15 TiDB 是否支持 select for update? @@ -103,11 +103,11 @@ TiDB 的 `show processlist` 与 MySQL 的 `show processlist` 显示内容基本 #### 1.1.20 如何修改用户名密码和权限? -TiDB 作为分布式数据库,在 TiDB 中修改用户密码建议使用 `set password for 'root'@'%' = '0101001';` 或 `alter` 方法,不推荐使用 `update mysql.user` 的方法进行,这种方法可能会造成其它节点刷新不及时的情况。修改权限也一样,都建议采用官方的标准语法。详情可参考 [TiDB 用户账户管理](/reference/security/user-account-management.md)。 +TiDB 作为分布式数据库,在 TiDB 中修改用户密码建议使用 `set password for 'root'@'%' = '0101001';` 或 `alter` 方法,不推荐使用 `update mysql.user` 的方法进行,这种方法可能会造成其它节点刷新不及时的情况。修改权限也一样,都建议采用官方的标准语法。详情可参考 [TiDB 用户账户管理](/user-account-management.md)。 #### 1.1.21 TiDB 中,为什么出现后插入数据的自增 ID 反而小? -TiDB 的自增 ID (`AUTO_INCREMENT`) 只保证自增且唯一,并不保证连续分配。TiDB 目前采用批量分配的方式,所以如果在多台 TiDB 上同时插入数据,分配的自增 ID 会不连续。当多个线程并发往不同的 tidb-server 插入数据的时候,有可能会出现后插入的数据自增 ID 小的情况。此外,TiDB允许给整型类型的字段指定 AUTO_INCREMENT,且一个表只允许一个属性为 `AUTO_INCREMENT` 的字段。详情可参考[CREATE TABLE 语法](/reference/mysql-compatibility.md#自增-id)。 +TiDB 的自增 ID (`AUTO_INCREMENT`) 只保证自增且唯一,并不保证连续分配。TiDB 目前采用批量分配的方式,所以如果在多台 TiDB 上同时插入数据,分配的自增 ID 会不连续。当多个线程并发往不同的 tidb-server 插入数据的时候,有可能会出现后插入的数据自增 ID 小的情况。此外,TiDB允许给整型类型的字段指定 AUTO_INCREMENT,且一个表只允许一个属性为 `AUTO_INCREMENT` 的字段。详情可参考[CREATE TABLE 语法](/mysql-compatibility.md#自增-id)。 #### 1.1.22 sql_mode 默认除了通过命令 set 修改,配置文件怎么修改? @@ -115,7 +115,7 @@ TiDB 的 sql_mode 与 MySQL 的 sql_mode 设置方法有一些差别,TiDB 不 #### 1.1.23 我们的安全漏洞扫描工具对 MySQL version 有要求,TiDB 是否支持修改 server 版本号呢? -TiDB 在 v3.0.8 后支持修改 server 版本号,可以通过配置文件中的 [`server-version`](/reference/configuration/tidb-server/configuration-file.md#server-version) 配置项进行修改。在使用 TiDB Ansible 部署集群时,同样可以通过 `conf/tidb.yml` 配置文件中的 `server-version` 来设置合适的版本号,以避免出现安全漏洞扫描不通过的问题。 +TiDB 在 v3.0.8 后支持修改 server 版本号,可以通过配置文件中的 [`server-version`](/tidb-configuration-file.md#server-version) 配置项进行修改。在使用 TiDB Ansible 部署集群时,同样可以通过 `conf/tidb.yml` 配置文件中的 `server-version` 来设置合适的版本号,以避免出现安全漏洞扫描不通过的问题。 #### 1.1.24 TiDB 支持哪些认证协议,过程是怎样的? @@ -165,7 +165,7 @@ TiDB 在 v3.0.8 后支持修改 server 版本号,可以通过配置文件中 ##### 2.1.1.1 为什么要在 CentOS 7 上部署 TiDB 集群? -TiDB 作为一款开源分布式 NewSQL 数据库,可以很好的部署和运行在 Intel 架构服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络,作为一款高性能数据库系统,TiDB 支持主流的 Linux 操作系统环境,具体可以参考 TiDB 的[官方部署要求](/how-to/deploy/hardware-recommendations.md)。其中 TiDB 在 CentOS 7.3 的环境下进行大量的测试,同时也有很多这个操作系统的部署最佳实践,因此,我们推荐客户在部署 TiDB 的时候使用 CentOS 7.3+ 以上的Linux 操作系统。 +TiDB 作为一款开源分布式 NewSQL 数据库,可以很好的部署和运行在 Intel 架构服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络,作为一款高性能数据库系统,TiDB 支持主流的 Linux 操作系统环境,具体可以参考 TiDB 的[官方部署要求](/hardware-and-software-requirements.md)。其中 TiDB 在 CentOS 7.3 的环境下进行大量的测试,同时也有很多这个操作系统的部署最佳实践,因此,我们推荐客户在部署 TiDB 的时候使用 CentOS 7.3+ 以上的Linux 操作系统。 #### 2.1.2 硬件要求 @@ -204,17 +204,17 @@ TiDB 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器 - PD 里面存了集群元信息,会有频繁的读写请求,对磁盘 I/O 要求相对比较高,磁盘太差会影响整个集群性能,推荐 SSD 磁盘,空间不用太大。另外集群 Region 数量越多对 CPU、内存的要求越高; - TiKV 对 CPU、内存、磁盘要求都比较高,一定要用 SSD 磁盘。 -详情可参考 [TiDB 软硬件环境需求](/how-to/deploy/hardware-recommendations.md)。 +详情可参考 [TiDB 软硬件环境需求](/hardware-and-software-requirements.md)。 ### 2.2 安装部署 #### 2.2.1 推荐部署方式 -[使用 TiUP 部署](/how-to/deploy/orchestrated/tiup.md):如果用于生产环境,推荐使用 TiUP 部署 TiDB 集群。 +[使用 TiUP 部署](/production-deployment-using-tiup.md):如果用于生产环境,推荐使用 TiUP 部署 TiDB 集群。 ##### 2.2.1.1 为什么修改了 TiKV/PD 的 toml 配置文件,却没有生效? -这种情况一般是因为没有使用 `--config` 参数来指定配置文件(目前只会出现在 binary 部署的场景),TiKV/PD 会按默认值来设置。如果要使用配置文件,请设置 TiKV/PD 的 `--config` 参数。对于 TiKV 组件,修改配置后重启服务即可;对于 PD 组件,只会在第一次启动时读取配置文件,之后可以使用 pd-ctl 的方式来修改配置,详情可参考 [PD 配置参数](/reference/configuration/pd-server/configuration.md)。 +这种情况一般是因为没有使用 `--config` 参数来指定配置文件(目前只会出现在 binary 部署的场景),TiKV/PD 会按默认值来设置。如果要使用配置文件,请设置 TiKV/PD 的 `--config` 参数。对于 TiKV 组件,修改配置后重启服务即可;对于 PD 组件,只会在第一次启动时读取配置文件,之后可以使用 pd-ctl 的方式来修改配置,详情可参考 [PD 配置参数](/command-line-flags-for-pd-configuration.md)。 ##### 2.2.1.2 TiDB 监控框架 Prometheus + Grafana 监控机器建议单独还是多台部署? @@ -252,11 +252,11 @@ TiDB 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器 #### 2.2.2 TiDB 离线 Ansible 部署方案(4.0 版本后不推荐使用) -首先这不是我们建议的方式,如果中控机没有外网,也可以通过离线 Ansible 部署方式,详情可参考[离线 TiDB Ansible 部署方案](/how-to/deploy/orchestrated/offline-ansible.md)。 +首先这不是我们建议的方式,如果中控机没有外网,也可以通过离线 Ansible 部署方式,详情可参考[离线 TiDB Ansible 部署方案](/offline-deployment-using-ansible.md)。 #### 2.2.3 Docker Compose 快速构建集群(单机部署) -使用 docker-compose 在本地一键拉起一个集群,包括集群监控,还可以根据需求自定义各个组件的软件版本和实例个数,以及自定义配置文件,这种只限于开发环境,详细可参考[官方文档](/how-to/get-started/deploy-tidb-from-docker-compose.md)。 +使用 docker-compose 在本地一键拉起一个集群,包括集群监控,还可以根据需求自定义各个组件的软件版本和实例个数,以及自定义配置文件,这种只限于开发环境,详细可参考[官方文档](/deploy-test-cluster-using-docker-compose.md)。 #### 2.2.4 如何单独记录 TiDB 中的慢查询日志,如何定位慢查询 SQL? @@ -269,13 +269,13 @@ TiDB 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器 2)如果出现了慢查询,可以从 Grafana 监控定位到出现慢查询的 tidb-server 以及时间点,然后在对应节点查找日志中记录的 SQL 信息。 -3)除了日志,还可以通过 `admin show slow` 命令查看,详情可参考 [`admin show slow` 命令](/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md#admin-show-slow-命令)。 +3)除了日志,还可以通过 `admin show slow` 命令查看,详情可参考 [`admin show slow` 命令](/identify-slow-queries.md#admin-show-slow-命令)。 #### 2.2.5 首次部署 TiDB 集群时,没有配置 tikv 的 Label 信息,在后续如何添加配置 Label? TiDB 的 Label 设置是与集群的部署架构相关的,是集群部署中的重要内容,是 PD 进行全局管理和调度的依据。如果集群在初期部署过程中没有设置 Label,需要在后期对部署结构进行调整,就需要手动通过 PD 的管理工具 pd-ctl 来添加 location-labels 信息,例如:`config set location-labels "zone,rack,host"`(根据实际的 label 层级名字配置)。 -pd-ctl 的使用参考 [PD Control 使用说明](/reference/tools/pd-control.md)。 +pd-ctl 的使用参考 [PD Control 使用说明](/pd-control.md)。 #### 2.2.6 为什么测试磁盘的 dd 命令用 oflag=direct 这个选项? @@ -303,7 +303,7 @@ Direct 模式就是把写入请求直接封装成 I/O 指令发到磁盘,这 有两种可能性: -- ssh 互信的准备工作未做好,建议严格参照我们的[官方文档步骤](/how-to/deploy/orchestrated/ansible.md)配置互信,并使用命令 `ansible -i inventory.ini all -m shell -a 'whoami' -b` 来验证互信配置是否成功。 +- ssh 互信的准备工作未做好,建议严格参照我们的[官方文档步骤](/online-deployment-using-ansible.md)配置互信,并使用命令 `ansible -i inventory.ini all -m shell -a 'whoami' -b` 来验证互信配置是否成功。 - 如果涉及到单服务器分配了多角色的场景,例如多组件混合部署或单台服务器部署了多个 TiKV 实例,可能是由于 ssh 复用的机制引起这个报错,可以使用 `ansible … -f 1` 的选项来规避这个报错。 @@ -366,11 +366,11 @@ Binary 不是我们建议的安装方式,对升级支持也不友好,建议 #### 3.1.4 TiDB (TiKV) 有哪些数据目录? -默认在 [`--data-dir`](/reference/configuration/tikv-server/configuration.md#--data-dir) 目录下,其中包括 backup、db、raft、snap 四个目录,分别存储备份、数据、raft 数据及镜像数据。 +默认在 [`--data-dir`](/command-line-flags-for-tikv-configuration.md#--data-dir) 目录下,其中包括 backup、db、raft、snap 四个目录,分别存储备份、数据、raft 数据及镜像数据。 #### 3.1.5 TiDB 有哪些系统表? -和 MySQL 类似,TiDB 中也有系统表,用于存放数据库运行时所需信息,具体信息参考 [TiDB 系统数据库](/reference/system-databases/mysql.md)文档。 +和 MySQL 类似,TiDB 中也有系统表,用于存放数据库运行时所需信息,具体信息参考 [TiDB 系统数据库](/system-tables/system-table-overview.md)文档。 #### 3.1.6 TiDB 各节点服务器下是否有日志文件,如何管理? @@ -383,7 +383,7 @@ Binary 不是我们建议的安装方式,对升级支持也不友好,建议 #### 3.1.8 TiDB 里面可以执行 kill 命令吗? - 可以 kill DML 语句,首先使用 `show processlist`,找到对应 session 的 id,然后执行 `kill tidb [session id]`。 -- 可以 kill DDL 语句,首先使用 `admin show ddl jobs`,查找需要 kill 的 DDL job ID,然后执行 `admin cancel ddl jobs 'job_id' [, 'job_id'] ...`。具体可以参考 [admin 操作](/reference/sql/statements/admin.md)。 +- 可以 kill DDL 语句,首先使用 `admin show ddl jobs`,查找需要 kill 的 DDL job ID,然后执行 `admin cancel ddl jobs 'job_id' [, 'job_id'] ...`。具体可以参考 [admin 操作](/sql-statements/sql-statement-admin.md)。 #### 3.1.9 TiDB 是否支持会话超时? @@ -401,7 +401,7 @@ TiDB 版本目前逐步标准化,每次 Release 都包含详细的 Change log #### 3.1.11 分不清 TiDB master 版本之间的区别,经常用错 TiDB Ansible 版本? -TiDB 目前社区非常活跃,在 1.0 GA 版本发布后,还在不断的优化和修改 BUG,因此 TiDB 的版本更新周期比较快,会不定期有新版本发布,请关注我们的[新版本发布官方网站](https://pingcap.com/weekly/)。此外 TiDB 安装推荐[使用 TiUP 进行安装](/how-to/deploy/orchestrated/tiup.md)。此外,在 TiDB 1.0 GA 版本后,对 TiDB 的版本号进行了统一管理,TiDB 的版本可以通过以下两种方式进行查看: +TiDB 目前社区非常活跃,在 1.0 GA 版本发布后,还在不断的优化和修改 BUG,因此 TiDB 的版本更新周期比较快,会不定期有新版本发布,请关注我们的[新版本发布官方网站](https://pingcap.com/weekly/)。此外 TiDB 安装推荐[使用 TiUP 进行安装](/production-deployment-using-tiup.md)。此外,在 TiDB 1.0 GA 版本后,对 TiDB 的版本号进行了统一管理,TiDB 的版本可以通过以下两种方式进行查看: - 通过 `select tidb_version()` 进行查看 - 通过执行 `tidb-server -V` 进行查看 @@ -459,7 +459,7 @@ Client 连接只能通过 TiDB 访问集群,TiDB 负责连接 PD 与 TiKV,PD #### 3.2.6 每个 region 的 replica 数量可配置吗?调整的方法是? -可以,目前只能调整全局的 replica 数量。首次启动时 PD 会读配置文件(conf/pd.yml),使用其中的 max-replicas 配置,之后修改需要使用 pd-ctl 配置命令 `config set max-replicas $num`,配置后可通过 `config show all` 来查看已生效的配置。调整的时候,不会影响业务,会在后台添加,注意总 TiKV 实例数总是要大于等于设置的副本数,例如 3 副本需要至少 3 个 TiKV。增加副本数量之前需要预估额外的存储需求。pd-ctl 的详细用法可参考 [PD Control 使用说明](/reference/tools/pd-control.md)。 +可以,目前只能调整全局的 replica 数量。首次启动时 PD 会读配置文件(conf/pd.yml),使用其中的 max-replicas 配置,之后修改需要使用 pd-ctl 配置命令 `config set max-replicas $num`,配置后可通过 `config show all` 来查看已生效的配置。调整的时候,不会影响业务,会在后台添加,注意总 TiKV 实例数总是要大于等于设置的副本数,例如 3 副本需要至少 3 个 TiKV。增加副本数量之前需要预估额外的存储需求。pd-ctl 的详细用法可参考 [PD Control 使用说明](/pd-control.md)。 #### 3.2.7 缺少命令行集群管理工具,整个集群的健康度当前是否正常,不好确认? @@ -504,7 +504,7 @@ Client 连接只能通过 TiDB 访问集群,TiDB 负责连接 PD 与 TiKV,PD #### 3.3.5 Information_schema 能否支持更多真实信息? -Information_schema 库里面的表主要是为了兼容 MySQL 而存在,有些第三方软件会查询里面的信息。在目前 TiDB 的实现中,里面大部分只是一些空表。后续随着 TiDB 的升级,会提供更多的参数信息。当前 TiDB 支持的 Information\_schema 请参考 [TiDB 系统数据库说明文档](/reference/system-databases/information-schema.md)。 +Information_schema 库里面的表主要是为了兼容 MySQL 而存在,有些第三方软件会查询里面的信息。在目前 TiDB 的实现中,里面大部分只是一些空表。后续随着 TiDB 的升级,会提供更多的参数信息。当前 TiDB 支持的 Information\_schema 请参考 [TiDB 系统数据库说明文档](/system-tables/system-table-information-schema.md)。 #### 3.3.6 TiDB Backoff type 主要原因? @@ -528,7 +528,7 @@ TiDB 在执行 SQL 时,预估出来每个 operator 处理了超过 10000 条 #### 3.3.10 在 TiDB 中如何控制或改变 SQL 提交的执行优先级? -TiDB 支持改变 [per-session](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_force_priority)、[全局](/reference/configuration/tidb-server/configuration-file.md#force-priority)或单个语句的优先级。优先级包括: +TiDB 支持改变 [per-session](/tidb-specific-system-variables.md#tidb_force_priority)、[全局](/tidb-configuration-file.md#force-priority)或单个语句的优先级。优先级包括: - HIGH_PRIORITY:该语句为高优先级语句,TiDB 在执行阶段会优先处理这条语句 - LOW_PRIORITY:该语句为低优先级语句,TiDB 在执行阶段会降低这条语句的优先级 @@ -659,7 +659,7 @@ WAL 属于顺序写,目前我们并没有单独对他进行配置,建议 SSD #### 3.4.15 在最严格的 `sync-log = true` 数据可用模式下,写入性能如何? -一般来说,开启 `sync-log` 会让性能损耗 30% 左右。关闭 `sync-log` 时的性能表现,请参见 [TiDB Sysbench 性能测试报告](/benchmark/sysbench-v4.md)。 +一般来说,开启 `sync-log` 会让性能损耗 30% 左右。关闭 `sync-log` 时的性能表现,请参见 [TiDB Sysbench 性能测试报告](/benchmark/v3.0-performance-benchmarking-with-sysbench.md)。 #### 3.4.16 是否可以利用 TiKV 的 Raft + 多副本达到完全的数据可靠,单机存储引擎是否需要最严格模式? @@ -701,7 +701,7 @@ TiKV 的内存占用主要来自于 RocksDB 的 block-cache,默认为系统总 很多用户在接触 TiDB 都习惯做一个基准测试或者 TiDB 与 MySQL 的对比测试,官方也做了一个类似测试,汇总很多测试结果后,我们发现虽然测试的数据有一定的偏差,但结论或者方向基本一致,由于 TiDB 与 MySQL 由于架构上的差别非常大,很多方面是很难找到一个基准点,所以官方的建议两点: - 大家不要用过多精力纠结这类基准测试上,应该更多关注 TiDB 的场景上的区别。 -- 大家可以直接参考 [TiDB Sysbench 性能测试报告](/benchmark/sysbench-v4.md)。 +- 大家可以直接参考 [TiDB Sysbench 性能测试报告](/benchmark/v3.0-performance-benchmarking-with-sysbench.md)。 #### 3.5.2 TiDB 集群容量 QPS 与节点数之间关系如何,和 MySQL 对比如何? @@ -717,7 +717,7 @@ TiDB 设计的目标就是针对 MySQL 单台容量限制而被迫做的分库 #### 3.6.1 TiDB 主要备份方式? -目前,推荐的备份方式是使用 [PingCAP fork 的 Mydumper](/reference/tools/mydumper.md)。尽管 TiDB 也支持使用 MySQL 官方工具 `mysqldump` 进行数据备份、恢复,但其性能低于 [`mydumper`](/reference/tools/mydumper.md)/[`loader`](/reference/tools/loader.md),并且该工具备份、恢复大量数量时,要耗费更多时间。 +目前,推荐的备份方式是使用 [PingCAP fork 的 Mydumper](/mydumper-overview.md)。尽管 TiDB 也支持使用 MySQL 官方工具 `mysqldump` 进行数据备份、恢复,但其性能低于 [`mydumper`](/mydumper-overview.md)/[`loader`](/loader-overview.md),并且该工具备份、恢复大量数量时,要耗费更多时间。 使用 Mydumper 导出来的数据文件尽可能的小, 最好不要超过 64M, 可以设置参数 -F 64; @@ -729,11 +729,11 @@ loader 的 -t 参数可以根据 TiKV 的实例个数以及负载进行评估调 #### 4.1.1 Mydumper -参见 [Mydumper 使用文档](/reference/tools/mydumper.md)。 +参见 [Mydumper 使用文档](/mydumper-overview.md)。 #### 4.1.2 Loader -参见 [Loader 使用文档](/reference/tools/loader.md)。 +参见 [Loader 使用文档](/loader-overview.md)。 #### 4.1.3 如何将一个运行在 MySQL 上的应用迁移到 TiDB 上? @@ -783,7 +783,7 @@ DB2、Oracle 到 TiDB 数据迁移(增量+全量),通常做法有: #### 4.1.9 TiDB 有像 Oracle 那样的 Flashback Query 功能么,DDL 支持么? -有,也支持 DDL。详细参考 [TiDB 历史数据回溯](/how-to/get-started/read-historical-data.md)。 +有,也支持 DDL。详细参考 [TiDB 历史数据回溯](/read-historical-data.md)。 ### 4.2 在线数据同步 @@ -793,7 +793,7 @@ DB2、Oracle 到 TiDB 数据迁移(增量+全量),通常做法有: ##### 4.2.1.1 Syncer 使用文档 -详细参考 [Syncer 使用文档](/reference/tools/syncer.md)。 +详细参考 [Syncer 使用文档](/syncer-overview.md)。 ##### 4.2.1.2 如何配置监控 Syncer 运行情况? @@ -811,7 +811,7 @@ DB2、Oracle 到 TiDB 数据迁移(增量+全量),通常做法有: ##### 4.2.1.4 利用 Syncer 做数据同步的时候是否支持只同步部分表? -支持,具体参考 Syncer 使用手册 [Syncer 使用文档](/reference/tools/syncer.md) +支持,具体参考 Syncer 使用手册 [Syncer 使用文档](/syncer-overview.md) ##### 4.2.1.5 频繁的执行 DDL 会影响 Syncer 同步速度吗? @@ -876,7 +876,7 @@ DELETE,TRUNCATE 和 DROP 都不会立即释放空间。对于 TRUNCATE 和 DRO 主要有两个方面: -- 目前已开发分布式导入工具 [Lightning](/reference/tools/tidb-lightning/overview.md),需要注意的是数据导入过程中为了性能考虑,不会执行完整的事务流程,所以没办法保证导入过程中正在导入的数据的 ACID 约束,只能保证整个导入过程结束以后导入数据的 ACID 约束。因此适用场景主要为新数据的导入(比如新的表或者新的索引),或者是全量的备份恢复(先 Truncate 原表再导入)。 +- 目前已开发分布式导入工具 [Lightning](/tidb-lightning/tidb-lightning-overview.md),需要注意的是数据导入过程中为了性能考虑,不会执行完整的事务流程,所以没办法保证导入过程中正在导入的数据的 ACID 约束,只能保证整个导入过程结束以后导入数据的 ACID 约束。因此适用场景主要为新数据的导入(比如新的表或者新的索引),或者是全量的备份恢复(先 Truncate 原表再导入)。 - TiDB 的数据加载与磁盘以及整体集群状态相关,加载数据时应关注该主机的磁盘利用率,TiClient Error/Backoff/Thread CPU 等相关 metric,可以分析相应瓶颈。 #### 4.3.11 对数据做删除操作之后,空间回收比较慢,如何处理? @@ -887,11 +887,11 @@ DELETE,TRUNCATE 和 DROP 都不会立即释放空间。对于 TRUNCATE 和 DRO ### 5.1 TiDB 执行计划解读 -详细解读 [理解 TiDB 执行计划](/reference/performance/understanding-the-query-execution-plan.md)。 +详细解读 [理解 TiDB 执行计划](/query-execution-plan.md)。 #### 5.1.1 统计信息收集 -详细解读 [统计信息](/reference/performance/statistics.md)。 +详细解读 [统计信息](/statistics.md)。 #### 5.1.2 Count 如何加速? @@ -899,10 +899,10 @@ Count 就是暴力扫表,提高并发度能显著的提升速度,修改并 提升建议: -- 建议提升硬件配置,可以参考[部署建议](/how-to/deploy/hardware-recommendations.md)。 +- 建议提升硬件配置,可以参考[部署建议](/hardware-and-software-requirements.md)。 - 提升并发度,默认是 10,可以提升到 50 试试,但是一般提升在 2-4 倍之间。 - 测试大数据量的 count。 -- 调优 TiKV 配置,可以参考[性能调优](/reference/performance/tune-tikv.md)。 +- 调优 TiKV 配置,可以参考[性能调优](/tune-tikv-performance.md)。 #### 5.1.3 查看当前 DDL 的进度? @@ -941,11 +941,11 @@ RUNNING_JOBS: ID:121, Type:add index, State:running, SchemaState:write reorganiz #### 5.1.7 SQL 的执行计划展开成了树,ID 的序号有什么规律吗?这棵树的执行顺序会是怎么样的? -ID 没什么规律,只要是唯一就行,不过生成的时候,是有一个计数器,生成一个 plan 就加一,执行的顺序和序号无关,整个执行计划是一颗树,执行时从根节点开始,不断地向上返回数据。执行计划的理解,请参考[理解 TiDB 执行计划](/reference/performance/understanding-the-query-execution-plan.md)。 +ID 没什么规律,只要是唯一就行,不过生成的时候,是有一个计数器,生成一个 plan 就加一,执行的顺序和序号无关,整个执行计划是一颗树,执行时从根节点开始,不断地向上返回数据。执行计划的理解,请参考[理解 TiDB 执行计划](/query-execution-plan.md)。 #### 5.1.8 TiDB 执行计划中,task cop 在一个 root 下,这个是并行的么? -目前 TiDB 的计算任务隶属于两种不同的 task:cop task 和 root task。cop task 是指被下推到 KV 端分布式执行的计算任务,root task 是指在 TiDB 端单点执行的计算任务。一般来讲 root task 的输入数据是来自于 cop task 的;但是 root task 在处理数据的时候,TiKV 上的 cop task 也可以同时处理数据,等待 TiDB 的 root task 拉取,所以从这个观点上来看,他们是并行的;但是存在数据上下游关系;在执行的过程中,某些时间段其实也是并行的,第一个 cop task 在处理 [100, 200] 的数据,第二个 cop task 在处理 [1, 100] 的数据。执行计划的理解,请参考[理解 TiDB 执行计划](/reference/performance/understanding-the-query-execution-plan.md)。 +目前 TiDB 的计算任务隶属于两种不同的 task:cop task 和 root task。cop task 是指被下推到 KV 端分布式执行的计算任务,root task 是指在 TiDB 端单点执行的计算任务。一般来讲 root task 的输入数据是来自于 cop task 的;但是 root task 在处理数据的时候,TiKV 上的 cop task 也可以同时处理数据,等待 TiDB 的 root task 拉取,所以从这个观点上来看,他们是并行的;但是存在数据上下游关系;在执行的过程中,某些时间段其实也是并行的,第一个 cop task 在处理 [100, 200] 的数据,第二个 cop task 在处理 [1, 100] 的数据。执行计划的理解,请参考[理解 TiDB 执行计划](/query-execution-plan.md)。 ## 六、数据库优化 @@ -953,31 +953,31 @@ ID 没什么规律,只要是唯一就行,不过生成的时候,是有一 #### 6.1.1 TiDB 参数及调整 -详情参考 [TiDB 配置参数](/reference/configuration/tidb-server/configuration.md)。 +详情参考 [TiDB 配置参数](/command-line-flags-for-tidb-configuration.md)。 #### 6.1.2 如何打散热点 -TiDB 中以 Region 分片来管理数据库,通常来讲,TiDB 的热点指的是 Region 的读写访问热点。而 TiDB 中对于 PK 非整数或没有 PK 的表,可以通过设置 `SHARD_ROW_ID_BITS` 来适度分解 Region 分片,以达到打散 Region 热点的效果。详情可参考官网 [TiDB 专用系统变量和语法](/reference/configuration/tidb-server/tidb-specific-variables.md#shard_row_id_bits)中 `SHARD_ROW_ID_BITS` 的介绍。 +TiDB 中以 Region 分片来管理数据库,通常来讲,TiDB 的热点指的是 Region 的读写访问热点。而 TiDB 中对于 PK 非整数或没有 PK 的表,可以通过设置 `SHARD_ROW_ID_BITS` 来适度分解 Region 分片,以达到打散 Region 热点的效果。详情可参考官网 [TiDB 专用系统变量和语法](/tidb-specific-system-variables.md#shard_row_id_bits)中 `SHARD_ROW_ID_BITS` 的介绍。 ### 6.2 TiKV #### 6.2.1 TiKV 性能参数调优 -详情参考 [TiKV 性能参数调优](/reference/performance/tune-tikv.md)。 +详情参考 [TiKV 性能参数调优](/tune-tikv-performance.md)。 ## 七、监控 ### 7.1 Prometheus 监控框架 -详细参考 [TiDB 监控框架概述](/how-to/monitor/overview.md)。 +详细参考 [TiDB 监控框架概述](/tidb-monitoring-framework.md)。 ### 7.2 监控指标解读 -详细参考 [重要监控指标详解](/reference/key-monitoring-metrics/overview-dashboard.md)。 +详细参考 [重要监控指标详解](/grafana-overview-dashboard.md)。 #### 7.2.1 目前的监控使用方式及主要监控指标,有没有更好看的监控? -TiDB 使用 Prometheus + Grafana 组成 TiDB 数据库系统的监控系统,用户在 Grafana 上通过 dashboard 可以监控到 TiDB 的各类运行指标,包括系统资源的监控指标,包括客户端连接与 SQL 运行的指标,包括内部通信和 Region 调度的指标,通过这些指标,可以让数据库管理员更好的了解到系统的运行状态,运行瓶颈等内容。在监控指标的过程中,我们按照 TiDB 不同的模块,分别列出了各个模块重要的指标项,一般用户只需要关注这些常见的指标项。具体指标请参见[官方文档](/reference/key-monitoring-metrics/overview-dashboard.md)。 +TiDB 使用 Prometheus + Grafana 组成 TiDB 数据库系统的监控系统,用户在 Grafana 上通过 dashboard 可以监控到 TiDB 的各类运行指标,包括系统资源的监控指标,包括客户端连接与 SQL 运行的指标,包括内部通信和 Region 调度的指标,通过这些指标,可以让数据库管理员更好的了解到系统的运行状态,运行瓶颈等内容。在监控指标的过程中,我们按照 TiDB 不同的模块,分别列出了各个模块重要的指标项,一般用户只需要关注这些常见的指标项。具体指标请参见[官方文档](/grafana-overview-dashboard.md)。 #### 7.2.2 Prometheus 监控数据默认 15 天自动清除一次,可以自己设定成 2 个月或者手动删除吗? @@ -1071,7 +1071,7 @@ update mysql.tidb set variable_value='30m' where variable_name='tikv_gc_life_tim #### 9.2.4 ERROR 9001 (HY000): PD server timeout start timestamp may fall behind safe point -这个报错一般是 TiDB 访问 PD 出了问题,TiDB 后台有个 worker 会不断地从 PD 查询 safepoint,如果超过 100s 查不成功就会报这个错。一般是因为 PD 磁盘操作过忙、反应过慢,或者 TiDB 和 PD 之间的网络有问题。TiDB 常见错误码请参考[错误码与故障诊断](/reference/error-codes.md)。 +这个报错一般是 TiDB 访问 PD 出了问题,TiDB 后台有个 worker 会不断地从 PD 查询 safepoint,如果超过 100s 查不成功就会报这个错。一般是因为 PD 磁盘操作过忙、反应过慢,或者 TiDB 和 PD 之间的网络有问题。TiDB 常见错误码请参考[错误码与故障诊断](/error-codes.md)。 ### 9.3 TiDB 日志中的报错信息 diff --git a/faq/upgrade.md b/faq/upgrade-faq.md similarity index 100% rename from faq/upgrade.md rename to faq/upgrade-faq.md diff --git a/reference/performance/follower-read.md b/follower-read.md similarity index 100% rename from reference/performance/follower-read.md rename to follower-read.md diff --git a/reference/sql/functions-and-operators/aggregate-group-by-functions.md b/functions-and-operators/aggregate-group-by-functions.md similarity index 97% rename from reference/sql/functions-and-operators/aggregate-group-by-functions.md rename to functions-and-operators/aggregate-group-by-functions.md index 0586410900ab..7931bea0ab57 100644 --- a/reference/sql/functions-and-operators/aggregate-group-by-functions.md +++ b/functions-and-operators/aggregate-group-by-functions.md @@ -79,7 +79,7 @@ select a, b, sum(c) from t group by a; ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'b' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by ``` -目前,TiDB 默认开启 SQL 模式 [`ONLY_FULL_GROUP_BY`](/reference/mysql-compatibility.md#默认设置的区别)。 +目前,TiDB 默认开启 SQL 模式 [`ONLY_FULL_GROUP_BY`](/mysql-compatibility.md#默认设置的区别)。 ### 与 MySQL 的区别 diff --git a/reference/sql/functions-and-operators/bit-functions-and-operators.md b/functions-and-operators/bit-functions-and-operators.md similarity index 100% rename from reference/sql/functions-and-operators/bit-functions-and-operators.md rename to functions-and-operators/bit-functions-and-operators.md diff --git a/reference/sql/functions-and-operators/cast-functions-and-operators.md b/functions-and-operators/cast-functions-and-operators.md similarity index 100% rename from reference/sql/functions-and-operators/cast-functions-and-operators.md rename to functions-and-operators/cast-functions-and-operators.md diff --git a/reference/sql/functions-and-operators/control-flow-functions.md b/functions-and-operators/control-flow-functions.md similarity index 100% rename from reference/sql/functions-and-operators/control-flow-functions.md rename to functions-and-operators/control-flow-functions.md diff --git a/reference/sql/functions-and-operators/date-and-time-functions.md b/functions-and-operators/date-and-time-functions.md similarity index 100% rename from reference/sql/functions-and-operators/date-and-time-functions.md rename to functions-and-operators/date-and-time-functions.md diff --git a/reference/sql/functions-and-operators/encryption-and-compression-functions.md b/functions-and-operators/encryption-and-compression-functions.md similarity index 100% rename from reference/sql/functions-and-operators/encryption-and-compression-functions.md rename to functions-and-operators/encryption-and-compression-functions.md diff --git a/reference/sql/functions-and-operators/expressions-pushed-down.md b/functions-and-operators/expressions-pushed-down.md similarity index 78% rename from reference/sql/functions-and-operators/expressions-pushed-down.md rename to functions-and-operators/expressions-pushed-down.md index fa10be909cdd..767dd74e8148 100644 --- a/reference/sql/functions-and-operators/expressions-pushed-down.md +++ b/functions-and-operators/expressions-pushed-down.md @@ -12,12 +12,12 @@ category: reference | 表达式分类 | 具体操作 | | :-------------- | :------------------------------------- | -| [逻辑运算](/reference/sql/functions-and-operators/operators.md#逻辑操作符) | AND (&&), OR (||), NOT (!) | -| [比较运算](/reference/sql/functions-and-operators/operators.md#比较方法和操作符) | <, <=, =, != (<>), >, >=, [`<=>`](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_equal-to), [`IN()`](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_in), IS NULL, LIKE, IS TRUE, IS FALSE, [`COALESCE()`](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_coalesce) | -| [数值运算](/reference/sql/functions-and-operators/numeric-functions-and-operators.md) | +, -, *, /, [`ABS()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_abs), [`CEIL()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_ceil), [`CEILING()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_ceiling), [`FLOOR()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_floor) | -| [控制流运算](/reference/sql/functions-and-operators/control-flow-functions.md) | [`CASE`](https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#operator_case), [`IF()`](https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_if), [`IFNULL()`](https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_ifnull) | -| [JSON运算](/reference/sql/functions-and-operators/json-functions.md) | [JSON_TYPE(json_val)][json_type],
[JSON_EXTRACT(json_doc, path[, path] ...)][json_extract],
[JSON_UNQUOTE(json_val)][json_unquote],
[JSON_OBJECT(key, val[, key, val] ...)][json_object],
[JSON_ARRAY([val[, val] ...])][json_array],
[JSON_MERGE(json_doc, json_doc[, json_doc] ...)][json_merge],
[JSON_SET(json_doc, path, val[, path, val] ...)][json_set],
[JSON_INSERT(json_doc, path, val[, path, val] ...)][json_insert],
[JSON_REPLACE(json_doc, path, val[, path, val] ...)][json_replace],
[JSON_REMOVE(json_doc, path[, path] ...)][json_remove] | -| [日期运算](/reference/sql/functions-and-operators/date-and-time-functions.md) | [`DATE_FORMAT()`](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format) | +| [逻辑运算](/functions-and-operators/operators.md#逻辑操作符) | AND (&&), OR (||), NOT (!) | +| [比较运算](/functions-and-operators/operators.md#比较方法和操作符) | <, <=, =, != (<>), >, >=, [`<=>`](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_equal-to), [`IN()`](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_in), IS NULL, LIKE, IS TRUE, IS FALSE, [`COALESCE()`](https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_coalesce) | +| [数值运算](/functions-and-operators/numeric-functions-and-operators.md) | +, -, *, /, [`ABS()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_abs), [`CEIL()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_ceil), [`CEILING()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_ceiling), [`FLOOR()`](https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html#function_floor) | +| [控制流运算](/functions-and-operators/control-flow-functions.md) | [`CASE`](https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#operator_case), [`IF()`](https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_if), [`IFNULL()`](https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_ifnull) | +| [JSON运算](/functions-and-operators/json-functions.md) | [JSON_TYPE(json_val)][json_type],
[JSON_EXTRACT(json_doc, path[, path] ...)][json_extract],
[JSON_UNQUOTE(json_val)][json_unquote],
[JSON_OBJECT(key, val[, key, val] ...)][json_object],
[JSON_ARRAY([val[, val] ...])][json_array],
[JSON_MERGE(json_doc, json_doc[, json_doc] ...)][json_merge],
[JSON_SET(json_doc, path, val[, path, val] ...)][json_set],
[JSON_INSERT(json_doc, path, val[, path, val] ...)][json_insert],
[JSON_REPLACE(json_doc, path, val[, path, val] ...)][json_replace],
[JSON_REMOVE(json_doc, path[, path] ...)][json_remove] | +| [日期运算](/functions-and-operators/date-and-time-functions.md) | [`DATE_FORMAT()`](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format) | ## 禁止特定表达式下推 @@ -61,7 +61,7 @@ tidb> desc mysql.expr_pushdown_blacklist; 以下示例首先将运算符 `<` 及 `>` 加入黑名单,然后将运算符 `>` 从黑名单中移出。 -黑名单是否生效可以从 `explain` 结果中进行观察(参见[如何理解 `explain` 结果](/reference/performance/understanding-the-query-execution-plan.md))。 +黑名单是否生效可以从 `explain` 结果中进行观察(参见[如何理解 `explain` 结果](/query-execution-plan.md))。 ```sql tidb> create table t(a int); diff --git a/reference/sql/functions-and-operators/reference.md b/functions-and-operators/functions-and-operators-overview.md similarity index 82% rename from reference/sql/functions-and-operators/reference.md rename to functions-and-operators/functions-and-operators-overview.md index ed06e78a0800..e22c2b58b5cd 100644 --- a/reference/sql/functions-and-operators/reference.md +++ b/functions-and-operators/functions-and-operators-overview.md @@ -9,4 +9,4 @@ TiDB 中函数和操作符使用方法与 MySQL 基本一致,详情参见: [Fu 在 SQL 语句中,表达式可用于诸如 `SELECT` 语句的 `ORDER BY` 或 `HAVING` 子句,`SELECT`/`DELETE`/`UPDATE` 语句的 `WHERE` 子句,或 `SET` 语句之类的地方。 -可使用字面值,列名,NULL,内置函数,操作符等来书写表达式。其中有些表达式下推到 TiKV 上执行,详见[下推到 TiKV 的表达式列表](/reference/sql/functions-and-operators/expressions-pushed-down.md)。 +可使用字面值,列名,NULL,内置函数,操作符等来书写表达式。其中有些表达式下推到 TiKV 上执行,详见[下推到 TiKV 的表达式列表](/functions-and-operators/expressions-pushed-down.md)。 diff --git a/reference/sql/functions-and-operators/information-functions.md b/functions-and-operators/information-functions.md similarity index 100% rename from reference/sql/functions-and-operators/information-functions.md rename to functions-and-operators/information-functions.md diff --git a/reference/sql/functions-and-operators/json-functions.md b/functions-and-operators/json-functions.md similarity index 100% rename from reference/sql/functions-and-operators/json-functions.md rename to functions-and-operators/json-functions.md diff --git a/reference/sql/functions-and-operators/miscellaneous-functions.md b/functions-and-operators/miscellaneous-functions.md similarity index 100% rename from reference/sql/functions-and-operators/miscellaneous-functions.md rename to functions-and-operators/miscellaneous-functions.md diff --git a/reference/sql/functions-and-operators/numeric-functions-and-operators.md b/functions-and-operators/numeric-functions-and-operators.md similarity index 100% rename from reference/sql/functions-and-operators/numeric-functions-and-operators.md rename to functions-and-operators/numeric-functions-and-operators.md diff --git a/reference/sql/functions-and-operators/operators.md b/functions-and-operators/operators.md similarity index 100% rename from reference/sql/functions-and-operators/operators.md rename to functions-and-operators/operators.md diff --git a/reference/sql/functions-and-operators/precision-math.md b/functions-and-operators/precision-math.md similarity index 100% rename from reference/sql/functions-and-operators/precision-math.md rename to functions-and-operators/precision-math.md diff --git a/reference/sql/functions-and-operators/string-functions.md b/functions-and-operators/string-functions.md similarity index 100% rename from reference/sql/functions-and-operators/string-functions.md rename to functions-and-operators/string-functions.md diff --git a/reference/sql/functions-and-operators/type-conversion.md b/functions-and-operators/type-conversion-in-expression-evaluation.md similarity index 100% rename from reference/sql/functions-and-operators/type-conversion.md rename to functions-and-operators/type-conversion-in-expression-evaluation.md diff --git a/reference/sql/functions-and-operators/window-functions.md b/functions-and-operators/window-functions.md similarity index 100% rename from reference/sql/functions-and-operators/window-functions.md rename to functions-and-operators/window-functions.md diff --git a/reference/garbage-collection/configuration.md b/garbage-collection-configuration.md similarity index 87% rename from reference/garbage-collection/configuration.md rename to garbage-collection-configuration.md index f23ed92b865a..13f6377ddaf7 100644 --- a/reference/garbage-collection/configuration.md +++ b/garbage-collection-configuration.md @@ -67,7 +67,7 @@ update mysql.tidb set VARIABLE_VALUE="24h" where VARIABLE_NAME="tikv_gc_life_tim > **注意:** > -> - `tikv_gc_life_time` 的值必须大于 TiDB 的配置文件中的 [`max-txn-time-use`](/reference/configuration/tidb-server/configuration-file.md#max-txn-time-use) 的值至少 10 秒,且不低于 10 分钟。 +> - `tikv_gc_life_time` 的值必须大于 TiDB 的配置文件中的 [`max-txn-time-use`](/tidb-configuration-file.md#max-txn-time-use) 的值至少 10 秒,且不低于 10 分钟。 > > - 在数据更新频繁的场景下,如果将 `tikv_gc_life_time` 设置得比较大(如数天甚至数月),可能会有一些潜在的问题,如: > - 磁盘空间占用较多。 @@ -77,15 +77,15 @@ update mysql.tidb set VARIABLE_VALUE="24h" where VARIABLE_NAME="tikv_gc_life_tim 指定 GC 模式。可选值如下: -- `"distributed"`(默认):分布式 GC 模式。在此模式下,[Do GC](/reference/garbage-collection/overview.md#do-gc) 阶段由 TiDB 上的 GC leader 向 PD 发送 safe point,每个 TiKV 节点各自获取该 safe point 并对所有当前节点上作为 leader 的 Region 进行 GC。此模式于 TiDB 3.0 引入。 +- `"distributed"`(默认):分布式 GC 模式。在此模式下,[Do GC](/garbage-collection-overview.md#do-gc) 阶段由 TiDB 上的 GC leader 向 PD 发送 safe point,每个 TiKV 节点各自获取该 safe point 并对所有当前节点上作为 leader 的 Region 进行 GC。此模式于 TiDB 3.0 引入。 -- `"central"`:集中 GC 模式。在此模式下,[Do GC](/reference/garbage-collection/overview.md#do-gc) 阶段由 GC leader 向所有的 Region 发送 GC 请求。TiDB 2.1 及更早版本采用此 GC 模式。 +- `"central"`:集中 GC 模式。在此模式下,[Do GC](/garbage-collection-overview.md#do-gc) 阶段由 GC leader 向所有的 Region 发送 GC 请求。TiDB 2.1 及更早版本采用此 GC 模式。 ## `tikv_gc_auto_concurrency` 控制是否由 TiDB 自动决定 GC concurrency,即同时进行 GC 的线程数。 -当 `tikv_gc_mode` 设为 `"distributed"`,GC concurrency 将应用于 [Resolve Locks](/reference/garbage-collection/overview.md#resolve-locks) 阶段。当 [`tikv_gc_mode`](#tikv_gc_mode) 设为 `"central"` 时,GC concurrency 将应用于 Resolve Locks 以及 [Do GC](/reference/garbage-collection/overview.md#do-gc) 两个阶段。 +当 `tikv_gc_mode` 设为 `"distributed"`,GC concurrency 将应用于 [Resolve Locks](/garbage-collection-overview.md#resolve-locks) 阶段。当 [`tikv_gc_mode`](#tikv_gc_mode) 设为 `"central"` 时,GC concurrency 将应用于 Resolve Locks 以及 [Do GC](/garbage-collection-overview.md#do-gc) 两个阶段。 - `true`(默认):自动以 TiKV 节点的个数作为 GC concurrency - `false`:使用 [`tikv_gc_concurrency`](#tikv_gc_concurrency) 的值作为 GC 并发数 diff --git a/reference/garbage-collection/overview.md b/garbage-collection-overview.md similarity index 98% rename from reference/garbage-collection/overview.md rename to garbage-collection-overview.md index 4053b03e3fb7..b5d4fcdcf445 100644 --- a/reference/garbage-collection/overview.md +++ b/garbage-collection-overview.md @@ -37,4 +37,4 @@ TiDB 2.1 及更早版本使用的 GC 方式是由 GC leader 向所有 Region 发 > **注意:** > -> 通过修改配置可以继续使用旧的 GC 方式,详情请参考 [GC 配置](/reference/garbage-collection/configuration.md)。 +> 通过修改配置可以继续使用旧的 GC 方式,详情请参考 [GC 配置](/garbage-collection-configuration.md)。 diff --git a/how-to/secure/generate-self-signed-certificates.md b/generate-self-signed-certificates.md similarity index 100% rename from how-to/secure/generate-self-signed-certificates.md rename to generate-self-signed-certificates.md diff --git a/reference/sql/generated-columns.md b/generated-columns.md similarity index 97% rename from reference/sql/generated-columns.md rename to generated-columns.md index abcf9d9064f4..3b45053697fa 100644 --- a/reference/sql/generated-columns.md +++ b/generated-columns.md @@ -128,7 +128,7 @@ desc select a+1 from t where a+1=3; > > 上例中,`a` 的类型是 int,而 `a+1` 的列类型是 bigint,如果将生成列的类型定为 int,就不会发生替换。 > -> 关于类型转换规则,可以参见[表达式求值的类型转换](/reference/sql/functions-and-operators/type-conversion.md)。 +> 关于类型转换规则,可以参见[表达式求值的类型转换](/functions-and-operators/type-conversion-in-expression-evaluation.md)。 ## 局限性 @@ -137,5 +137,5 @@ desc select a+1 from t where a+1=3; - 不能通过 `ALTER TABLE` 增加 `STORED` 存储方式的 generated column; - 不能通过 `ALTER TABLE` 将 generated stored column 转换为普通列,也不能将普通列转换成 generated stored column; - 不能通过 `ALTER TABLE` 修改 generated stored column 的**生成列表达式**; -- 并未支持所有的 [JSON 函数](/reference/sql/functions-and-operators/json-functions.md); +- 并未支持所有的 [JSON 函数](/functions-and-operators/json-functions.md); - 目前仅当生成列是 virtual column 时索引生成列替换规则有效,暂不支持将输入的表达式替换为 generated stored column,但仍然可以通过使用该生成列本身来使用索引。 diff --git a/how-to/deploy/geographic-redundancy/overview.md b/geo-redundancy-deployment.md similarity index 100% rename from how-to/deploy/geographic-redundancy/overview.md rename to geo-redundancy-deployment.md diff --git a/how-to/get-started/tidb-binlog.md b/get-started-with-tidb-binlog.md similarity index 98% rename from how-to/get-started/tidb-binlog.md rename to get-started-with-tidb-binlog.md index 4635d34c290b..0135bb8b9286 100644 --- a/how-to/get-started/tidb-binlog.md +++ b/get-started-with-tidb-binlog.md @@ -24,7 +24,7 @@ TiDB Binlog 支持以下功能场景: - 增量备份,将 TiDB 集群中的数据增量同步到另一个集群,或通过 Kafka 增量同步到选择的下游。 - 当使用 TiDB DM (Data Migration) 将数据从上游 MySQL 或者 MariaDB 迁移到 TiDB 集群时,可使用 TiDB Binlog 保持 TiDB 集群与其一个独立下游 MySQL 或 MariaDB 实例或集群同步。当 TiDB 集群上游数据迁移过程中出现问题,下游数据同步过程中可使用 TiDB Binlog 恢复数据到原先的状态。 -更多信息参考 [TiDB Binlog Cluster 版本用户文档](/reference/tidb-binlog/overview.md)。 +更多信息参考 [TiDB Binlog Cluster 版本用户文档](/tidb-binlog/tidb-binlog-overview.md)。 ## 架构 @@ -417,7 +417,7 @@ Check Table Before Drop: false ## binlogctl -加入到集群的 Pump 和 Drainer 的数据存储在 Placement Driver (PD) 中。binlogctl 可用于查询和修改状态信息。更多信息请参考 [binlogctl guide](/reference/tidb-binlog/maintain.md#binlogctl-工具)。 +加入到集群的 Pump 和 Drainer 的数据存储在 Placement Driver (PD) 中。binlogctl 可用于查询和修改状态信息。更多信息请参考 [binlogctl guide](/tidb-binlog/maintain-tidb-binlog-cluster.md#binlogctl-工具)。 使用 `binlogctl` 查看集群中 Pump 和 Drainer 的当前状态: diff --git a/how-to/get-started/tidb-lightning.md b/get-started-with-tidb-lightning.md similarity index 94% rename from how-to/get-started/tidb-lightning.md rename to get-started-with-tidb-lightning.md index 73f731d35814..2ef6bc467822 100644 --- a/how-to/get-started/tidb-lightning.md +++ b/get-started-with-tidb-lightning.md @@ -25,7 +25,7 @@ TiDB Lightning 主要包含两个部分: ## 准备全量备份数据 -我们使用 [`mydumper`](/reference/tools/mydumper.md) 从 MySQL 导出数据,如下: +我们使用 [`mydumper`](/mydumper-overview.md) 从 MySQL 导出数据,如下: {{< copyable "shell-regular" >}} @@ -111,10 +111,10 @@ TiDB Lightning 主要包含两个部分: 导入完毕后,TiDB Lightning 会自动退出。若导入成功,日志的最后一行会显示 `tidb lightning exit`。 -如果出错,请参见 [TiDB Lightning 错误排解](/how-to/troubleshoot/tidb-lightning.md)。 +如果出错,请参见 [TiDB Lightning 错误排解](/troubleshoot-tidb-lightning.md)。 ## 总结 本教程对 TiDB Lightning 进行了简单的介绍,并快速部署了一套简单的 TiDB Lightning 集群,将全量备份数据导入到 TiDB 集群中。 -关于 TiDB Lightning 的详细功能和使用,参见 [TiDB Lightning 简介](/reference/tools/tidb-lightning/overview.md)。 +关于 TiDB Lightning 的详细功能和使用,参见 [TiDB Lightning 简介](/tidb-lightning/tidb-lightning-overview.md)。 diff --git a/how-to/get-started/tispark.md b/get-started-with-tispark.md similarity index 96% rename from how-to/get-started/tispark.md rename to get-started-with-tispark.md index 32714d0be217..c3be5817d531 100644 --- a/how-to/get-started/tispark.md +++ b/get-started-with-tispark.md @@ -5,7 +5,7 @@ category: how-to # TiSpark 快速入门指南 -为了让大家快速体验 [TiSpark](/reference/tispark.md),通过 TiDB Ansible 安装的 TiDB 集群中默认已集成 Spark、TiSpark jar 包及 TiSpark sample data。 +为了让大家快速体验 [TiSpark](/tispark-overview.md),通过 TiDB Ansible 安装的 TiDB 集群中默认已集成 Spark、TiSpark jar 包及 TiSpark sample data。 ## 部署信息 diff --git a/reference/key-monitoring-metrics/overview-dashboard.md b/grafana-overview-dashboard.md similarity index 99% rename from reference/key-monitoring-metrics/overview-dashboard.md rename to grafana-overview-dashboard.md index ce17540a06c6..1c29973f6031 100644 --- a/reference/key-monitoring-metrics/overview-dashboard.md +++ b/grafana-overview-dashboard.md @@ -5,7 +5,7 @@ category: reference # Overview 面板重要监控指标详解 -使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/how-to/monitor/overview.md)。 +使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/tidb-monitoring-framework.md)。 目前 Grafana Dashboard 整体分为 PD、TiDB、TiKV、Node\_exporter、Overview 等。 diff --git a/reference/key-monitoring-metrics/pd-dashboard.md b/grafana-pd-dashboard.md similarity index 99% rename from reference/key-monitoring-metrics/pd-dashboard.md rename to grafana-pd-dashboard.md index 1cbcf8de65c0..cab49300e8cc 100644 --- a/reference/key-monitoring-metrics/pd-dashboard.md +++ b/grafana-pd-dashboard.md @@ -5,7 +5,7 @@ category: reference # PD 重要监控指标详解 -使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/how-to/monitor/overview.md)。 +使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/tidb-monitoring-framework.md)。 目前 Grafana Dashboard 整体分为 PD、TiDB、TiKV、Node\_exporter、Overview 等。 diff --git a/reference/key-monitoring-metrics/tidb-dashboard.md b/grafana-tidb-dashboard.md similarity index 99% rename from reference/key-monitoring-metrics/tidb-dashboard.md rename to grafana-tidb-dashboard.md index 0b5881840861..fce4cef7eed9 100644 --- a/reference/key-monitoring-metrics/tidb-dashboard.md +++ b/grafana-tidb-dashboard.md @@ -5,7 +5,7 @@ category: reference # TiDB 重要监控指标详解 -使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/how-to/monitor/overview.md)。 +使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/tidb-monitoring-framework.md)。 目前 Grafana Dashboard 整体分为 PD、TiDB、TiKV、Node\_exporter、Overview 等,TiDB 分为 TiDB 和 TiDB Summary 面板(其中 TiDB 面板包含 TiDB Summary 面板的内容)。 diff --git a/reference/key-monitoring-metrics/tikv-dashboard.md b/grafana-tikv-dashboard.md similarity index 99% rename from reference/key-monitoring-metrics/tikv-dashboard.md rename to grafana-tikv-dashboard.md index 2135ca9f8f06..7162dba2eb79 100644 --- a/reference/key-monitoring-metrics/tikv-dashboard.md +++ b/grafana-tikv-dashboard.md @@ -5,7 +5,7 @@ category: reference # TiKV 重要监控指标详解 -使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/how-to/monitor/overview.md)。 +使用 TiDB Ansible 部署 TiDB 集群时,一键部署监控系统 (Prometheus/Grafana),监控架构请看 [TiDB 监控框架概述](/tidb-monitoring-framework.md)。 目前 Grafana Dashboard 整体分为 PD、TiDB、TiKV、Node\_exporter、Overview 等。 diff --git a/how-to/deploy/hardware-recommendations.md b/hardware-and-software-requirements.md similarity index 98% rename from how-to/deploy/hardware-recommendations.md rename to hardware-and-software-requirements.md index 7d157a5486c6..c0f3cd3e5b48 100644 --- a/how-to/deploy/hardware-recommendations.md +++ b/hardware-and-software-requirements.md @@ -39,7 +39,7 @@ TiDB 支持部署和运行在 Intel x86-64 架构的 64 位通用硬件服务器 > - 验证测试环境中的 TiDB 和 PD 可以部署在同一台服务器上。 > - 如进行性能相关的测试,避免采用低性能存储和网络硬件配置,防止对测试结果的正确性产生干扰。 > - TiKV 的 SSD 盘推荐使用 NVME 接口以保证读写更快。 -> - 如果仅验证功能,建议使用 [Docker Compose 部署方案](/how-to/get-started/deploy-tidb-from-docker-compose.md)单机进行测试。 +> - 如果仅验证功能,建议使用 [Docker Compose 部署方案](/deploy-test-cluster-using-docker-compose.md)单机进行测试。 > - TiDB 对于磁盘的使用以存放日志为主,因此在测试环境中对于磁盘类型和容量并无特殊要求。 ### 生产环境 diff --git a/how-to/scale/horizontally.md b/how-to/scale/horizontally.md deleted file mode 100644 index 60dd3fd6bc16..000000000000 --- a/how-to/scale/horizontally.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: TiDB 集群扩容缩容方案 -category: how-to ---- - -# TiDB 集群扩容缩容方案 - -TiDB 集群可以在不影响线上服务的情况下动态进行扩容和缩容。 - -> **注意:** -> -> 如果使用 TiDB Ansible 部署 TiDB 集群,请参考[使用 TiDB Ansible 扩容缩容](/how-to/scale/with-ansible.md)。 - -下面分别介绍如何增加或者删除 PD,TiKV 以及 TiDB 的节点。 - -下面用到的 pd-ctl 文档可以参考 [pd-control](/reference/tools/pd-control.md)。 - -## PD - -假设现在我们有三个 PD 服务,详细信息如下: - -|Name|ClientUrls|PeerUrls| -|----|----------|--------| -|pd1|`http://host1:2379`|`http://host1:2380`| -|pd2|`http://host2:2379`|`http://host2:2380`| -|pd3|`http://host3:2379`|`http://host3:2380`| - -我们可以通过 pd-ctl 来查看当前所有 PD 节点的信息: - -{{< copyable "shell-regular" >}} - -```bash -./pd-ctl -u http://host1:2379 -i ->> member -``` - -### 动态添加节点 - -我们可以使用 `join` 参数,将一个新的 PD 服务加入到现有的 PD 集群里面。 -如果我们需要添加 `pd4`,只需要在 `--join` 参数里面填入当前 PD 集群任意一个 PD 服务的 client url,比如: - -{{< copyable "shell-regular" >}} - -```bash -./bin/pd-server --name=pd4 \ - --client-urls="http://host4:2379" \ - --peer-urls="http://host4:2380" \ - --join="http://host1:2379" -``` - -### 动态删除节点 - -如果我们需要删除 `pd4`,可以通过 pd-ctl 来完成: - -{{< copyable "shell-regular" >}} - -```bash -./pd-ctl -u http://host1:2379 ->> member delete name pd4 -``` - -### 动态迁移节点 - -如果想把现有的 PD 节点迁移到新的机器上,我们可以先在新的机器上添加节点,然后把旧的机器上的节点删除掉。迁移过程中应该一个节点一个节点逐个迁移,每完成一个步骤可以先查看一下当前的所有节点信息来进行确认。 - -## TiKV - -我们可以通过 pd-ctl 来查看当前所有 TiKV 节点的信息: - -{{< copyable "shell-regular" >}} - -```bash -./pd-ctl -u http://host1:2379 ->> store -``` - -### 动态添加节点 - -动态添加一个新的 TiKV 服务非常容易,只需要在新的机器上启动一个 TiKV 服务,不需要其他特殊操作。 -新启动的 TiKV 服务会自动注册到现有集群的 PD 中,PD 会自动做负载均衡,逐步地把一部分数据迁移到新的TiKV 服务中,从而降低现有 TiKV 服务的压力。 - -### 动态删除节点 - -安全地删除(下线)一个 TiKV 服务需要先告诉 PD,这样 PD 可以先把这个 TiKV 服务上面的数据迁移到其他 TiKV 服务上,保证数据有足够的副本数。 - -假设我们需要删除 store id 为 1 的 TiKV 服务,可以通过 pd-ctl 来完成: - -{{< copyable "shell-regular" >}} - -```bash -./pd-ctl -u http://host1:2379 ->> store delete 1 -``` - -然后可以查看这个 TiKV 服务的状态: - -{{< copyable "shell-regular" >}} - -```bash -./pd-ctl -u http://host1:2379 ->> store 1 -``` - -``` -{ - "store": { - "id": 1, - "address": "127.0.0.1:21060", - "state": 1, - "state_name": "Offline" - }, - "status": { - ... - } -} -``` - -我们可以通过这个 store 的 state_name 来确定这个 store 的状态: - -- Up:这个 store 正常服务 -- Disconnected:当前没有检测到这个 store 的心跳,可能是故障或网络连接中断 -- Down:超过一小时(可通过 `max-down-time` 配置)没有收到 store 心跳,此时 PD 会为这个 store 上的数据添加副本 -- Offline:这个 store 正在将其中的 Region 转移到其他节点,此时这个 store 仍在服务中 -- Tombstone:这个 store 已经完成下线,此时 store 上已经没有数据,可以关闭实例 - -### 动态迁移节点 - -迁移 TiKV 服务也是通过先在新的机器上添加节点,然后把旧的机器上的节点下线来完成。迁移过程中可以先把新集群的机器全部添加到已有的集群中,然后再把旧的节点一个一个地下线。可以通过查看正在下线的节点的状态信息来确定这个节点是否已经完成下线,确认完成以后再下线下一个节点。 - -## TiDB - -TiDB 是一个无状态的服务,这也就意味着我们能直接添加和删除 TiDB。需要注意的是,如果我们在 TiDB 的服务的前面搭建了一个 proxy(譬如 HAProxy),则需要更新 proxy 的配置并重新载入。 diff --git a/how-to/maintain/identify-abnormal-queries/identify-expensive-queries.md b/identify-expensive-queries.md similarity index 75% rename from how-to/maintain/identify-abnormal-queries/identify-expensive-queries.md rename to identify-expensive-queries.md index 4cb2df74bc00..66b211216b62 100644 --- a/how-to/maintain/identify-abnormal-queries/identify-expensive-queries.md +++ b/identify-expensive-queries.md @@ -6,9 +6,9 @@ aliases: ['/docs-cn/how-to/maintain/identify-abnormal-queries/identify-aborted-q # 定位消耗系统资源多的查询 -TiDB 会将执行时间超过 [`tidb_expensive_query_time_threshold`](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_expensive_query_time_threshold) 限制(默认值为 60s),或使用内存超过 [`mem-quota-query`](/reference/configuration/tidb-server/configuration-file.md#mem-quota-query) 限制(默认值为 1 GB)的语句输出到 [tidb-server 日志文件](/reference/configuration/tidb-server/configuration-file.md#logfile)(默认文件为 “tidb.log”)中,用于在语句执行结束前定位消耗系统资源多的查询语句(以下简称为 expensive query),帮助用户分析和解决语句执行的性能问题。 +TiDB 会将执行时间超过 [`tidb_expensive_query_time_threshold`](/tidb-specific-system-variables.md#tidb_expensive_query_time_threshold) 限制(默认值为 60s),或使用内存超过 [`mem-quota-query`](/tidb-configuration-file.md#mem-quota-query) 限制(默认值为 1 GB)的语句输出到 [tidb-server 日志文件](/tidb-configuration-file.md#logfile)(默认文件为 “tidb.log”)中,用于在语句执行结束前定位消耗系统资源多的查询语句(以下简称为 expensive query),帮助用户分析和解决语句执行的性能问题。 -注意,expensive query 日志和[慢查询日志](/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md)的区别是,慢查询日志是在语句执行完后才打印,expensive query 日志可以将正在执行的语句的相关信息打印出来。当一条语句在执行过程中达到资源使用阈值时(执行时间/使用内存量),TiDB 会即时将这条语句的相关信息写入日志。 +注意,expensive query 日志和[慢查询日志](/identify-slow-queries.md)的区别是,慢查询日志是在语句执行完后才打印,expensive query 日志可以将正在执行的语句的相关信息打印出来。当一条语句在执行过程中达到资源使用阈值时(执行时间/使用内存量),TiDB 会即时将这条语句的相关信息写入日志。 ## Expensive query 日志示例 diff --git a/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md b/identify-slow-queries.md similarity index 96% rename from how-to/maintain/identify-abnormal-queries/identify-slow-queries.md rename to identify-slow-queries.md index 92c0c5274ac5..72939851815b 100644 --- a/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md +++ b/identify-slow-queries.md @@ -6,9 +6,9 @@ aliases: ['/docs-cn/sql/slow-query/','/docs-cn/dev/how-to/maintain/identify-slow # 慢查询日志 -TiDB 会将执行时间超过 [slow-threshold](/reference/configuration/tidb-server/configuration-file.md#slow-threshold)(默认值为 300 毫秒)的语句输出到 [slow-query-file](/reference/configuration/tidb-server/configuration-file.md#slow-query-file)(默认值:"tidb-slow.log")日志文件中,用于帮助用户定位慢查询语句,分析和解决 SQL 执行的性能问题。 +TiDB 会将执行时间超过 [slow-threshold](/tidb-configuration-file.md#slow-threshold)(默认值为 300 毫秒)的语句输出到 [slow-query-file](/tidb-configuration-file.md#slow-query-file)(默认值:"tidb-slow.log")日志文件中,用于帮助用户定位慢查询语句,分析和解决 SQL 执行的性能问题。 -TiDB 默认启用慢查询日志,可以修改配置 [`enable-slow-log`](/reference/configuration/tidb-server/configuration-file.md#enable-slow-log) 来启用或禁用它。 +TiDB 默认启用慢查询日志,可以修改配置 [`enable-slow-log`](/tidb-configuration-file.md#enable-slow-log) 来启用或禁用它。 ## 日志示例 @@ -102,7 +102,7 @@ Slow Query 基础信息: ## 慢日志内存映射表 -用户可通过查询 `INFORMATION_SCHEMA.SLOW_QUERY` 表来查询慢查询日志中的内容,表中列名和慢日志中字段名一一对应,表结构可查看 [Information Schema](/reference/system-databases/information-schema.md#information-schema) 中关于 `SLOW_QUERY` 表的介绍。 +用户可通过查询 `INFORMATION_SCHEMA.SLOW_QUERY` 表来查询慢查询日志中的内容,表中列名和慢日志中字段名一一对应,表结构可查看 [Information Schema](/system-tables/system-table-information-schema.md#information-schema) 中关于 `SLOW_QUERY` 表的介绍。 > **注意:** > @@ -154,7 +154,7 @@ where time > '2020-03-10 00:00:00' > > 如果指定时间范围内的慢日志文件被删除,或者并没有慢查询,则查询结果会返回空。 -TiDB 4.0 中新增了 [`CLUSTER_SLOW_QUERY`](/reference/system-databases/information-schema.md#cluster_slow_query-表) 系统表,用来查询所有 TiDB 节点的慢查询信息,表结构在 `SLOW_QUERY` 的基础上多增加了 `INSTANCE` 列,表示该行慢查询信息来自的 TiDB 节点地址。使用方式和 [`SLOW_QUERY`](/reference/system-databases/information-schema.md#slow_query-表) 系统表一样。 +TiDB 4.0 中新增了 [`CLUSTER_SLOW_QUERY`](/system-tables/system-table-information-schema.md#cluster_slow_query-表) 系统表,用来查询所有 TiDB 节点的慢查询信息,表结构在 `SLOW_QUERY` 的基础上多增加了 `INSTANCE` 列,表示该行慢查询信息来自的 TiDB 节点地址。使用方式和 [`SLOW_QUERY`](/system-tables/system-table-information-schema.md#slow_query-表) 系统表一样。 关于查询 `CLUSTER_SLOW_QUERY` 表,TiDB 会把相关的计算和判断下推到其他节点执行,而不是把其他节点的慢查询数据都取回来在一台 TiDB 上执行。 diff --git a/reference/performance/index-merge.md b/index-merge.md similarity index 97% rename from reference/performance/index-merge.md rename to index-merge.md index 3a8c70edd1e9..cde1d8c1b6ac 100644 --- a/reference/performance/index-merge.md +++ b/index-merge.md @@ -92,7 +92,7 @@ explain select * from t where a = 1 or b = 1; 默认设置下,`IndexMerge` 是关闭的,开启的方法有两种: - 设置系统变量 `tidb_enable_index_merge` 为 1; -- 在查询中使用 SQL Hint [`USE_INDEX_MERGE`](/reference/performance/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-); +- 在查询中使用 SQL Hint [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-); > **注意:** > diff --git a/reference/performance/join-reorder.md b/join-reorder.md similarity index 93% rename from reference/performance/join-reorder.md rename to join-reorder.md index ffee60f5d63c..bac738aa7380 100644 --- a/reference/performance/join-reorder.md +++ b/join-reorder.md @@ -32,4 +32,4 @@ category: reference - 目前并不支持 Outer Join 的 Join Reorder - 受结果集的计算算法所限并不会保证一定会选到合适的 Join order -目前 TiDB 中支持使用 `STRAIGHT_JOIN` 语法来强制指定一种 Join 顺序,参见[语法元素说明](/reference/sql/statements/select.md#语法元素说明)。 +目前 TiDB 中支持使用 `STRAIGHT_JOIN` 语法来强制指定一种 Join 顺序,参见[语法元素说明](/sql-statements/sql-statement-select.md#语法元素说明)。 diff --git a/how-to/monitor/key-visualizer.md b/key-visualizer-monitoring-tool.md similarity index 98% rename from how-to/monitor/key-visualizer.md rename to key-visualizer-monitoring-tool.md index b502c7539a37..5ade6e2adb55 100644 --- a/how-to/monitor/key-visualizer.md +++ b/key-visualizer-monitoring-tool.md @@ -154,4 +154,4 @@ http://PDAddress:PDPort/dashboard ## 解决热点问题 -TiDB 内置了不少帮助缓解常见热点问题的功能,深入了解请参考 [TiDB 高并发写入场景最佳实践](/reference/best-practices/high-concurrency.md)。 +TiDB 内置了不少帮助缓解常见热点问题的功能,深入了解请参考 [TiDB 高并发写入场景最佳实践](/best-practices/high-concurrency-best-practices.md)。 diff --git a/reference/sql/language-structure/keywords-and-reserved-words.md b/keywords-and-reserved-words.md similarity index 98% rename from reference/sql/language-structure/keywords-and-reserved-words.md rename to keywords-and-reserved-words.md index ae52958eadb2..039d8d3966f1 100644 --- a/reference/sql/language-structure/keywords-and-reserved-words.md +++ b/keywords-and-reserved-words.md @@ -51,7 +51,7 @@ CREATE TABLE test.select (BEGIN int, END int); Query OK, 0 rows affected (0.08 sec) ``` -下表列出了 TiDB 中的关键字和保留字。保留字用 `(R)` 来标识。[窗口函数](/reference/sql/functions-and-operators/window-functions.md)的保留字用 `(R-Window)` 来标识: +下表列出了 TiDB 中的关键字和保留字。保留字用 `(R)` 来标识。[窗口函数](/functions-and-operators/window-functions.md)的保留字用 `(R-Window)` 来标识: {{< tabs-panel "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z" >}} diff --git a/reference/sql/language-structure/literal-values.md b/literal-values.md similarity index 100% rename from reference/sql/language-structure/literal-values.md rename to literal-values.md diff --git a/reference/tools/error-case-handling/load-misuse-handling.md b/load-misuse-handling.md similarity index 86% rename from reference/tools/error-case-handling/load-misuse-handling.md rename to load-misuse-handling.md index 9806fb53e8c0..32846ab45959 100644 --- a/reference/tools/error-case-handling/load-misuse-handling.md +++ b/load-misuse-handling.md @@ -5,7 +5,7 @@ category: reference # 全量数据导入过程常见报错处理 -本文介绍了使用 [Loader](/reference/tools/loader.md) 或者 [TiDB Data Migration](https://pingcap.com/docs-cn/tidb-data-migration/stable/overview/)(以下简称为 DM)进行全量数据导入过程中常见的因为使用造成的出错场景,以及这些错误发生的原因和处理方式。 +本文介绍了使用 [Loader](/loader-overview.md) 或者 [TiDB Data Migration](https://pingcap.com/docs-cn/tidb-data-migration/stable/overview/)(以下简称为 DM)进行全量数据导入过程中常见的因为使用造成的出错场景,以及这些错误发生的原因和处理方式。 ## 报错:```Try adjusting the `max_allowed_packet` variable``` @@ -18,7 +18,7 @@ packet for query is too large. Try adjusting the 'max_allowed_packet' variable ### 原因 * MySQL client 和 MySQL/TiDB Server 都有 `max_allowed_packet` 配额的限制,如果在使用过程中违反其中任何一个 `max_allowed_packet` 配额,客户端程序就会收到对应的报错。目前最新版本的 Syncer、Loader、DM 和 TiDB Server 的默认 `max_allowed_packet` 配额都为 `64M`。 - * 请使用最新版本,或者最新稳定版本的工具。[下载页面](/reference/tools/download.md)。 + * 请使用最新版本,或者最新稳定版本的工具。[下载页面](/download-ecosystem-tools.md)。 * Loader 或 DM 的全量数据导入处理模块不支持对 dump sqls 文件进行切分,原因是 Mydumper 采用了最简单的编码实现,正如 Mydumper 代码注释 `/* Poor man's data dump code */` 所言。如果在 Loader 或 DM 实现文件切分,那么需要在 `TiDB parser` 基础上实现一个完备的解析器才能正确的处理数据切分,但是随之会带来以下的问题: * 工作量大 * 复杂度高,不容易保证正确性 diff --git a/reference/tools/loader.md b/loader-overview.md similarity index 96% rename from reference/tools/loader.md rename to loader-overview.md index 0fc082d2a80b..a0d8c7fb5b08 100644 --- a/reference/tools/loader.md +++ b/loader-overview.md @@ -7,13 +7,13 @@ category: reference > **警告:** > -> Loader 目前已经不再维护,其功能已经完全被 [TiDB Lightning 的 TiDB backend 功能](/reference/tools/tidb-lightning/tidb-backend.md)取代,强烈建议切换到 TiDB Lightning。 +> Loader 目前已经不再维护,其功能已经完全被 [TiDB Lightning 的 TiDB backend 功能](/tidb-lightning/tidb-lightning-tidb-backend.md)取代,强烈建议切换到 TiDB Lightning。 ## Loader 简介 Loader 是由 PingCAP 开发的数据导入工具,用于向 TiDB 中导入数据。 -Loader 包含在 tidb-enterprise-tools 安装包中,可[在此下载](/reference/tools/download.md)。 +Loader 包含在 tidb-enterprise-tools 安装包中,可[在此下载](/download-ecosystem-tools.md)。 ## 为什么我们要做这个工具 diff --git a/how-to/deploy/geographic-redundancy/location-awareness.md b/location-awareness.md similarity index 96% rename from how-to/deploy/geographic-redundancy/location-awareness.md rename to location-awareness.md index 723742fcde32..51cee2c71832 100644 --- a/how-to/deploy/geographic-redundancy/location-awareness.md +++ b/location-awareness.md @@ -9,7 +9,7 @@ category: how-to PD 能够根据 TiKV 集群的拓扑结构进行调度,使得 TiKV 的容灾能力最大化。 -阅读本章前,请先确保阅读 [TiDB Ansible 部署方案](/how-to/deploy/orchestrated/ansible.md) 和 [Docker 部署方案](/how-to/deploy/orchestrated/docker.md)。 +阅读本章前,请先确保阅读 [TiDB Ansible 部署方案](/online-deployment-using-ansible.md) 和 [Docker 部署方案](/test-deployment-using-docker.md)。 ## TiKV 上报拓扑信息 diff --git a/how-to/maintain/ansible-operations.md b/maintain-tidb-using-ansible.md similarity index 100% rename from how-to/maintain/ansible-operations.md rename to maintain-tidb-using-ansible.md diff --git a/how-to/maintain/tiup-operations.md b/maintain-tidb-using-tiup.md similarity index 100% rename from how-to/maintain/tiup-operations.md rename to maintain-tidb-using-tiup.md diff --git a/reference/performance/max-min-eliminate.md b/max-min-eliminate.md similarity index 100% rename from reference/performance/max-min-eliminate.md rename to max-min-eliminate.md diff --git a/how-to/migrate/from-mysql-aurora.md b/migrate-from-aurora-mysql-database.md similarity index 100% rename from how-to/migrate/from-mysql-aurora.md rename to migrate-from-aurora-mysql-database.md diff --git a/how-to/monitor/monitor-a-cluster.md b/monitor-a-tidb-cluster.md similarity index 100% rename from how-to/monitor/monitor-a-cluster.md rename to monitor-a-tidb-cluster.md diff --git a/reference/tools/mydumper.md b/mydumper-overview.md similarity index 96% rename from reference/tools/mydumper.md rename to mydumper-overview.md index de5ec89cfb95..534d9844e7ac 100644 --- a/reference/tools/mydumper.md +++ b/mydumper-overview.md @@ -10,11 +10,11 @@ category: reference [Mydumper](https://github.com/pingcap/mydumper) 是一个 fork 项目,针对 TiDB 的特性进行了优化,推荐使用此工具对 TiDB 进行逻辑备份。 -Mydumper 包含在 tidb-enterprise-tools 安装包中,可[在此下载](/reference/tools/download.md)。 +Mydumper 包含在 tidb-enterprise-tools 安装包中,可[在此下载](/download-ecosystem-tools.md)。 ### 相比于普通的 Mydumper,此工具有哪些改进之处? -+ 对于 TiDB 可以设置 [tidb_snapshot](/how-to/get-started/read-historical-data.md#操作流程) 的值指定备份数据的时间点,从而保证备份的一致性,而不是通过 `FLUSH TABLES WITH READ LOCK` 来保证备份一致性。 ++ 对于 TiDB 可以设置 [tidb_snapshot](/read-historical-data.md#操作流程) 的值指定备份数据的时间点,从而保证备份的一致性,而不是通过 `FLUSH TABLES WITH READ LOCK` 来保证备份一致性。 + 使用 TiDB 的隐藏列 `_tidb_rowid` 优化了单表内数据的并发导出性能。 diff --git a/reference/mysql-compatibility.md b/mysql-compatibility.md similarity index 90% rename from reference/mysql-compatibility.md rename to mysql-compatibility.md index 493db555136c..d039b84e6606 100644 --- a/reference/mysql-compatibility.md +++ b/mysql-compatibility.md @@ -13,7 +13,7 @@ TiDB 支持 MySQL 传输协议及其绝大多数的语法。这意味着您现 > **注意:** > -> 本页内容仅涉及 MySQL 与 TiDB 的总体差异。关于[安全特性](/reference/security/compatibility.md)、[悲观事务模型](/reference/transactions/transaction-pessimistic.md#和-mysql-innodb-的差异)的兼容信息请查看各自具体页面。 +> 本页内容仅涉及 MySQL 与 TiDB 的总体差异。关于[安全特性](/security-compatibility-with-mysql.md)、[悲观事务模型](/pessimistic-transaction.md#和-mysql-innodb-的差异)的兼容信息请查看各自具体页面。 ## 不支持的特性 @@ -89,13 +89,13 @@ TiDB 自增 ID 的缓存大小在早期版本中是对用户透明的。从 v3.1 ### Performance schema -Performance schema 表在 TiDB 中返回结果为空。TiDB 使用 [Prometheus 和 Grafana](/how-to/monitor/monitor-a-cluster.md) 来监测性能指标。 +Performance schema 表在 TiDB 中返回结果为空。TiDB 使用 [Prometheus 和 Grafana](/monitor-a-tidb-cluster.md) 来监测性能指标。 -从 TiDB 3.0.4 版本开始,TiDB 支持 `events_statements_summary_by_digest`,参见 [Statement Summary Table](/reference/performance/statement-summary.md)。 +从 TiDB 3.0.4 版本开始,TiDB 支持 `events_statements_summary_by_digest`,参见 [Statement Summary Table](/statement-summary-tables.md)。 ### 查询计划 -TiDB 的查询计划(`EXPLAIN`/`EXPLAIN FOR`)输出格式与 MySQL 差别较大,同时 `EXPLAIN FOR` 的输出内容与权限设置与 MySQL 不一致,参见[理解 TiDB 执行计划](/reference/performance/understanding-the-query-execution-plan.md)。 +TiDB 的查询计划(`EXPLAIN`/`EXPLAIN FOR`)输出格式与 MySQL 差别较大,同时 `EXPLAIN FOR` 的输出内容与权限设置与 MySQL 不一致,参见[理解 TiDB 执行计划](/query-execution-plan.md)。 ### 内建函数 @@ -134,7 +134,7 @@ TiDB 支持常用的 MySQL 内建函数,但是不是所有的函数都已经 ### `ANALYZE TABLE` -- [`ANALYZE TABLE`](/reference/performance/statistics.md#手动收集) 语句在 TiDB 和 MySQL 中表现不同。在 MySQL/InnoDB 中,它是一个轻量级语句,执行过程较短;而在 TiDB 中,它会完全重构表的统计数据,语句执行过程较长。 +- [`ANALYZE TABLE`](/statistics.md#手动收集) 语句在 TiDB 和 MySQL 中表现不同。在 MySQL/InnoDB 中,它是一个轻量级语句,执行过程较短;而在 TiDB 中,它会完全重构表的统计数据,语句执行过程较长。 ### 视图 @@ -169,14 +169,14 @@ Create Table: CREATE TABLE `t1` ( 1 row in set (0.00 sec) ``` -从架构上讲,TiDB 确实支持类似 MySQL 的存储引擎抽象,在启动 TiDB(通常是 `tikv`)时 [`--store`](/reference/configuration/tidb-server/configuration.md#store) 选项指定的引擎中创建用户表。 +从架构上讲,TiDB 确实支持类似 MySQL 的存储引擎抽象,在启动 TiDB(通常是 `tikv`)时 [`--store`](/command-line-flags-for-tidb-configuration.md#store) 选项指定的引擎中创建用户表。 ### SQL 模式 TiDB 支持 MySQL 5.7 中 **绝大多数的 SQL 模式**,以下几种模式除外: - TiDB 不支持兼容模式(例如 `ORACLE` 和 `POSTGRESQL`)。MySQL 5.7 已弃用兼容模式,MySQL 8.0 已移除兼容模式。 -- TiDB 中的 `ONLY_FULL_GROUP_BY` 与 MySQL 5.7 相比有细微的[语义差别](/reference/sql/functions-and-operators/aggregate-group-by-functions.md#与-mysql-的区别),此问题日后将予以解决。 +- TiDB 中的 `ONLY_FULL_GROUP_BY` 与 MySQL 5.7 相比有细微的[语义差别](/functions-and-operators/aggregate-group-by-functions.md#与-mysql-的区别),此问题日后将予以解决。 - `NO_DIR_IN_CREATE` 和 `NO_ENGINE_SUBSTITUTION` 这两种 SQL 模式用于解决兼容问题,但并不适用于 TiDB。 ### 默认设置的区别 @@ -187,7 +187,7 @@ TiDB 支持 MySQL 5.7 中 **绝大多数的 SQL 模式**,以下几种模式除 + 默认排序规则不同: + TiDB 中,`utf8mb4` 的默认排序规则为 `utf8mb4_bin` + MySQL 5.7 中,`utf8mb4` 的默认排序规则为 `utf8mb4_general_ci`,MySQL 8.0 中修改为 `utf8mb4_0900_ai_ci` - + 请使用 [`SHOW CHARACTER SET`](/reference/sql/statements/show-character-set.md) 语句查看所有字符集的默认排序规则 + + 请使用 [`SHOW CHARACTER SET`](/sql-statements/sql-statement-show-character-set.md) 语句查看所有字符集的默认排序规则 + `foreign_key_checks` 的默认值不同: + TiDB 中该值默认为 `OFF`,并且目前 TiDB 只支持设置该值为 `OFF`。 + MySQL 5.7 中该值默认为 `ON`。 diff --git a/how-to/deploy/orchestrated/offline-ansible.md b/offline-deployment-using-ansible.md similarity index 77% rename from how-to/deploy/orchestrated/offline-ansible.md rename to offline-deployment-using-ansible.md index a383850dd9f7..ef2ab6346b67 100644 --- a/how-to/deploy/orchestrated/offline-ansible.md +++ b/offline-deployment-using-ansible.md @@ -14,7 +14,7 @@ category: how-to 2. 部署目标机器若干及部署中控机一台 - - 系统要求及配置参考[准备机器](/how-to/deploy/orchestrated/ansible.md#准备机器)。 + - 系统要求及配置参考[准备机器](/online-deployment-using-ansible.md#准备机器)。 - 可以无法访问外网。 ## 在中控机上安装系统依赖包 @@ -50,7 +50,7 @@ category: how-to ## 在中控机上创建 tidb 用户,并生成 ssh key -参考[在中控机上创建 tidb 用户,并生成 ssh key](/how-to/deploy/orchestrated/ansible.md#第-2-步在中控机上创建-tidb-用户并生成-ssh-key) 即可。 +参考[在中控机上创建 tidb 用户,并生成 ssh key](/online-deployment-using-ansible.md#第-2-步在中控机上创建-tidb-用户并生成-ssh-key) 即可。 ## 在中控机器上离线安装 TiDB Ansible 及其依赖 @@ -128,32 +128,32 @@ category: how-to ## 在中控机上配置部署机器 SSH 互信及 sudo 规则 -参考[在中控机上配置部署机器 SSH 互信及 sudo 规则](/how-to/deploy/orchestrated/ansible.md#第-5-步在中控机上配置部署机器-ssh-互信及-sudo-规则)即可。 +参考[在中控机上配置部署机器 SSH 互信及 sudo 规则](/online-deployment-using-ansible.md#第-5-步在中控机上配置部署机器-ssh-互信及-sudo-规则)即可。 ## 在部署目标机器上安装 NTP 服务 -如果你的部署目标机器时间、时区设置一致,已开启 NTP 服务且在正常同步时间,此步骤可忽略,可参考[如何检测 NTP 服务是否正常](/how-to/deploy/orchestrated/ansible.md#如何检测-ntp-服务是否正常)。 +如果你的部署目标机器时间、时区设置一致,已开启 NTP 服务且在正常同步时间,此步骤可忽略,可参考[如何检测 NTP 服务是否正常](/online-deployment-using-ansible.md#如何检测-ntp-服务是否正常)。 -参考[在部署目标机器上安装 NTP 服务](/how-to/deploy/orchestrated/ansible.md#第-6-步在部署目标机器上安装-ntp-服务)即可。 +参考[在部署目标机器上安装 NTP 服务](/online-deployment-using-ansible.md#第-6-步在部署目标机器上安装-ntp-服务)即可。 ## 在部署目标机器上配置 CPUfreq 调节器模式 -参考[在部署目标机器上配置 CPUfreq 调节器模式](/how-to/deploy/orchestrated/ansible.md#第-7-步在部署目标机器上配置-cpufreq-调节器模式)即可。 +参考[在部署目标机器上配置 CPUfreq 调节器模式](/online-deployment-using-ansible.md#第-7-步在部署目标机器上配置-cpufreq-调节器模式)即可。 ## 在部署目标机器上添加数据盘 ext4 文件系统挂载参数 -参考[在部署目标机器上添加数据盘 ext4 文件系统挂载参数](/how-to/deploy/orchestrated/ansible.md#第-8-步在部署目标机器上添加数据盘-ext4-文件系统挂载参数)即可。 +参考[在部署目标机器上添加数据盘 ext4 文件系统挂载参数](/online-deployment-using-ansible.md#第-8-步在部署目标机器上添加数据盘-ext4-文件系统挂载参数)即可。 ## 分配机器资源,编辑 inventory.ini 文件 -参考[分配机器资源,编辑 inventory.ini 文件](/how-to/deploy/orchestrated/ansible.md#第-9-步编辑-inventoryini-文件分配机器资源)即可。 +参考[分配机器资源,编辑 inventory.ini 文件](/online-deployment-using-ansible.md#第-9-步编辑-inventoryini-文件分配机器资源)即可。 ## 部署任务 1. `ansible-playbook local_prepare.yml` 该 playbook 不需要再执行。 -2. 参考[部署任务](/how-to/deploy/orchestrated/ansible.md#第-11-步部署-tidb-集群)即可。 +2. 参考[部署任务](/online-deployment-using-ansible.md#第-11-步部署-tidb-集群)即可。 ## 测试集群 -参考[测试集群](/how-to/deploy/orchestrated/ansible.md#测试集群)即可。 +参考[测试集群](/online-deployment-using-ansible.md#测试集群)即可。 diff --git a/how-to/deploy/orchestrated/ansible.md b/online-deployment-using-ansible.md similarity index 94% rename from how-to/deploy/orchestrated/ansible.md rename to online-deployment-using-ansible.md index 0d9579e63a94..568af8790f3f 100644 --- a/how-to/deploy/orchestrated/ansible.md +++ b/online-deployment-using-ansible.md @@ -11,32 +11,32 @@ Ansible 是一款自动化运维工具,[TiDB Ansible](https://github.com/pingc - 初始化操作系统参数 - 部署 TiDB 集群(包括 PD、TiDB、TiKV 等组件和监控组件) -- [启动集群](/how-to/maintain/ansible-operations.md#启动集群) -- [关闭集群](/how-to/maintain/ansible-operations.md#关闭集群) -- [变更组件配置](/how-to/upgrade/from-previous-version.md#编辑-tidb-集群组件配置文件) -- [集群扩容缩容](/how-to/scale/with-ansible.md) -- [升级组件版本](/how-to/upgrade/from-previous-version.md#滚动升级-tidb-集群组件) -- [集群开启 binlog](/reference/tidb-binlog/overview.md) -- [清除集群数据](/how-to/maintain/ansible-operations.md#清除集群数据) -- [销毁集群](/how-to/maintain/ansible-operations.md#销毁集群) +- [启动集群](/maintain-tidb-using-ansible.md#启动集群) +- [关闭集群](/maintain-tidb-using-ansible.md#关闭集群) +- [变更组件配置](/upgrade-tidb-using-ansible.md#编辑-tidb-集群组件配置文件) +- [集群扩容缩容](/scale-tidb-using-ansible.md) +- [升级组件版本](/upgrade-tidb-using-ansible.md#滚动升级-tidb-集群组件) +- [集群开启 binlog](/tidb-binlog/tidb-binlog-overview.md) +- [清除集群数据](/maintain-tidb-using-ansible.md#清除集群数据) +- [销毁集群](/maintain-tidb-using-ansible.md#销毁集群) > **警告:** > -> 对于生产环境,推荐[使用 TiUP 部署 TiDB 集群](/how-to/deploy/orchestrated/tiup.md)。从 TiDB 4.0 版本开始,不再推荐使用 TiDB Ansible 部署 TiDB 集群,但可以使用 TiUP 直接支持之前的 Ansible 集群。 +> 对于生产环境,推荐[使用 TiUP 部署 TiDB 集群](/production-deployment-using-tiup.md)。从 TiDB 4.0 版本开始,不再推荐使用 TiDB Ansible 部署 TiDB 集群,但可以使用 TiUP 直接支持之前的 Ansible 集群。 > -> 如果只是希望测试 TiDB 或体验 TiDB 特性,可参考 [TiDB 快速上手指南](/quick-start-with-tidb.md)或者[使用 Docker Compose 在单机上快速部署 TiDB 集群](/how-to/get-started/deploy-tidb-from-docker-compose.md)。 +> 如果只是希望测试 TiDB 或体验 TiDB 特性,可参考 [TiDB 快速上手指南](/quick-start-with-tidb.md)或者[使用 Docker Compose 在单机上快速部署 TiDB 集群](/deploy-test-cluster-using-docker-compose.md)。 ## 准备机器 1. 部署目标机器若干 - - 建议 4 台及以上,TiKV 至少 3 实例,且与 TiDB、PD 模块不位于同一主机,详见[部署建议](/how-to/deploy/hardware-recommendations.md)。 + - 建议 4 台及以上,TiKV 至少 3 实例,且与 TiDB、PD 模块不位于同一主机,详见[部署建议](/hardware-and-software-requirements.md)。 - 目前支持在 x86_64 (AMD64) 和 ARM64 两种架构上部署 TiDB 集群。在 AMD64 架构下,建议使用 CentOS 7.3 及以上版本 Linux 操作系统;在 ARM 架构下,建议使用 CentOS 7.6 1810 版本 Linux 操作系统。 - 机器之间内网互通。 > **注意:** > - > 使用 TiDB Ansible 方式部署时,TiKV 及 PD 节点数据目录所在磁盘请使用 SSD 磁盘,否则无法通过检测。**如果仅验证功能,建议使用 [Docker Compose 部署方案](/how-to/get-started/deploy-tidb-from-docker-compose.md)单机进行测试。** + > 使用 TiDB Ansible 方式部署时,TiKV 及 PD 节点数据目录所在磁盘请使用 SSD 磁盘,否则无法通过检测。**如果仅验证功能,建议使用 [Docker Compose 部署方案](/deploy-test-cluster-using-docker-compose.md)单机进行测试。** 2. 部署中控机一台 @@ -426,7 +426,7 @@ analyzing CPU 0: - [单机单 TiKV 实例集群拓扑](#单机单-tikv-实例集群拓扑) - 默认情况下,建议在每个 TiKV 节点上仅部署一个 TiKV 实例,以提高性能。但是,如果你的 TiKV 部署机器的 CPU 和内存配置是[部署建议](/how-to/deploy/hardware-recommendations.md)的两倍或以上,并且一个节点拥有两块 SSD 硬盘或者单块 SSD 硬盘的容量大于 2 TB,则可以考虑部署两实例,但不建议部署两个以上实例。 + 默认情况下,建议在每个 TiKV 节点上仅部署一个 TiKV 实例,以提高性能。但是,如果你的 TiKV 部署机器的 CPU 和内存配置是[部署建议](/hardware-and-software-requirements.md)的两倍或以上,并且一个节点拥有两块 SSD 硬盘或者单块 SSD 硬盘的容量大于 2 TB,则可以考虑部署两实例,但不建议部署两个以上实例。 - [单机多 TiKV 实例集群拓扑](#单机多-tikv-实例集群拓扑) @@ -599,8 +599,8 @@ TiKV1-1 ansible_host=172.16.10.4 deploy_dir=/data1/deploy | `cpu_architecture` | CPU 体系架构,默认为 `amd64`,可选 `arm64` | | `tidb_version` | TiDB 版本,TiDB Ansible 各分支默认已配置 | | `process_supervision` | 进程监管方式,默认为 `systemd`,可选 `supervise` | -| `timezone` | 新安装 TiDB 集群第一次启动 bootstrap(初始化)时,将 TiDB 全局默认时区设置为该值。TiDB 使用的时区后续可通过 `time_zone` 全局变量和 session 变量来修改,参考[时区支持](/how-to/configure/time-zone.md)。默认为 `Asia/Shanghai`,可选值参考 [timzone 列表](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)。 | -| `enable_firewalld` | 开启防火墙,默认不开启,如需开启,请将[部署建议-网络要求](/how-to/deploy/hardware-recommendations.md#网络要求) 中的端口加入白名单 | +| `timezone` | 新安装 TiDB 集群第一次启动 bootstrap(初始化)时,将 TiDB 全局默认时区设置为该值。TiDB 使用的时区后续可通过 `time_zone` 全局变量和 session 变量来修改,参考[时区支持](/configure-time-zone.md)。默认为 `Asia/Shanghai`,可选值参考 [timzone 列表](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)。 | +| `enable_firewalld` | 开启防火墙,默认不开启,如需开启,请将[部署建议-网络要求](/hardware-and-software-requirements.md#网络要求) 中的端口加入白名单 | | `enable_ntpd` | 检测部署目标机器 NTP 服务,默认为 `True`,请勿关闭 | | `set_hostname` | 根据 IP 修改部署目标机器主机名,默认为 `False` | | `enable_binlog` | 是否部署 Pump 并开启 binlog,默认为 `False`,依赖 Kafka 集群,参见 `zookeeper_addrs` 变量 | diff --git a/reference/transactions/transaction-optimistic.md b/optimistic-transaction.md similarity index 94% rename from reference/transactions/transaction-optimistic.md rename to optimistic-transaction.md index 5da54d163e21..cc8eee9360ca 100644 --- a/reference/transactions/transaction-optimistic.md +++ b/optimistic-transaction.md @@ -13,7 +13,7 @@ TiDB 默认使用乐观事务模型,不会出现读写冲突,所有的读操 > **注意:** > -> 自 v3.0.8 开始,TiDB 默认使用[悲观事务模型](/reference/transactions/transaction-pessimistic.md)。但如果从 3.0.7 及之前的版本升级到 >= 3.0.8 的版本,不会改变默认事务模型,即**只有新创建的集群才会默认使用悲观事务模型**。 +> 自 v3.0.8 开始,TiDB 默认使用[悲观事务模型](/pessimistic-transaction.md)。但如果从 3.0.7 及之前的版本升级到 >= 3.0.8 的版本,不会改变默认事务模型,即**只有新创建的集群才会默认使用悲观事务模型**。 ## 乐观事务原理 @@ -64,7 +64,7 @@ TiDB 中事务使用两阶段提交,流程如下: * 需要一个中心化的版本管理服务。 * 事务数据量过大时易导致内存暴涨。 -实际应用中,你可以[根据事务的大小进行针对性处理](/reference/transactions/overview.md#事务大小),以提高事务的执行效率。 +实际应用中,你可以[根据事务的大小进行针对性处理](/transaction-overview.md#事务大小),以提高事务的执行效率。 ## 事务的重试 @@ -118,7 +118,7 @@ tidb_retry_limit = 10 ### 重试的局限性 -TiDB 默认不进行事务重试,因为重试事务可能会导致更新丢失,从而破坏[可重复读的隔离级别](/reference/transactions/transaction-isolation.md)。 +TiDB 默认不进行事务重试,因为重试事务可能会导致更新丢失,从而破坏[可重复读的隔离级别](/transaction-isolation-levels.md)。 事务重试的局限性与其原理有关。事务重试可概括为以下三个步骤: diff --git a/reference/performance/optimizer-hints.md b/optimizer-hints.md similarity index 98% rename from reference/performance/optimizer-hints.md rename to optimizer-hints.md index 3885129e9131..f6a926d3a165 100644 --- a/reference/performance/optimizer-hints.md +++ b/optimizer-hints.md @@ -300,7 +300,7 @@ select /*+ READ_CONSISTENT_REPLICA() */ * from t; `IGNORE_PLAN_CACHE()` 提示优化器在处理当前 `prepare` 语句时不使用 plan cache。 -该 Hint 用于在 [prepare-plan-cache](/reference/configuration/tidb-server/configuration-file.md#prepared-plan-cache) 开启的场景下临时对某类查询禁用 plan cache。 +该 Hint 用于在 [prepare-plan-cache](/tidb-configuration-file.md#prepared-plan-cache) 开启的场景下临时对某类查询禁用 plan cache。 以下示例强制该 `prepare` 语句不使用 plan cache: diff --git a/overview.md b/overview.md index babf8a424723..725d9c2e7b7d 100644 --- a/overview.md +++ b/overview.md @@ -11,7 +11,7 @@ TiDB 具备如下特性: - 高度兼容 MySQL - [大多数情况下](/reference/mysql-compatibility.md),无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。 + [大多数情况下](/mysql-compatibility.md),无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。 - 水平弹性扩展 @@ -33,7 +33,7 @@ TiDB 具备如下特性: TiDB 是为云而设计的数据库,支持公有云、私有云和混合云,配合 [TiDB Operator 项目](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/tidb-operator-overview/) 可实现自动化运维,使部署、配置和维护变得十分简单。 -TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 [TiSpark 项目](/reference/tispark.md)来完成。 +TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 [TiSpark 项目](/tispark-overview.md)来完成。 TiDB 对业务没有任何侵入性,能优雅地替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大地提升研发的生产力。 @@ -47,9 +47,9 @@ TiDB 对业务没有任何侵入性,能优雅地替换传统的数据库中间 TiDB 可以部署在本地和云平台上,支持公有云、私有云和混合云。你可以根据实际场景或需求,选择相应的方式来部署 TiDB 集群: -- [使用 TiUP 部署](/how-to/deploy/orchestrated/tiup.md):如果用于生产环境,推荐使用 TiUP 部署 TiDB 集群。 -- [使用 Docker Compose 部署](/how-to/get-started/deploy-tidb-from-docker-compose.md):如果你只是想测试 TiDB、体验 TiDB 的特性,或者用于开发环境,可以使用 Docker Compose 在本地快速部署 TiDB 集群。该部署方式不适用于生产环境。 -- [使用 Docker 部署](/how-to/deploy/orchestrated/docker.md):你可以使用 Docker 部署 TiDB 集群,但该部署方式不适用于生产环境。 +- [使用 TiUP 部署](/production-deployment-using-tiup.md):如果用于生产环境,推荐使用 TiUP 部署 TiDB 集群。 +- [使用 Docker Compose 部署](/deploy-test-cluster-using-docker-compose.md):如果你只是想测试 TiDB、体验 TiDB 的特性,或者用于开发环境,可以使用 Docker Compose 在本地快速部署 TiDB 集群。该部署方式不适用于生产环境。 +- [使用 Docker 部署](/test-deployment-using-docker.md):你可以使用 Docker 部署 TiDB 集群,但该部署方式不适用于生产环境。 - [使用 TiDB Operator 部署](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-tidb-operator/):使用 TiDB Operator 在 Kubernetes 集群上部署生产就绪的 TiDB 集群,支持[部署到 AWS EKS](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-on-aws-eks/)、[部署到谷歌云 GKE (beta)](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-on-gcp-gke/)、[部署到阿里云 ACK](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-on-alibaba-cloud/) 等。 - [使用 TiDB Operator 部署到 Minikube](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-tidb-from-kubernetes-minikube/):你可以使用 TiDB Operator 将 TiDB 集群部署到本地 Minikube 启动的 Kubernetes 集群中。该部署方式不适用于生产环境。 - [使用 TiDB Operator 部署到 kind](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/deploy-tidb-from-kubernetes-kind/):你可以使用 TiDB Operator 将 TiDB 集群部署到以 kind 方式启动的 Kubernetes 本地集群中。该部署方式不适用于生产环境。 diff --git a/reference/sql/partitioning.md b/partitioned-table.md similarity index 100% rename from reference/sql/partitioning.md rename to partitioned-table.md diff --git a/reference/configuration/pd-server/configuration-file.md b/pd-configuration-file.md similarity index 98% rename from reference/configuration/pd-server/configuration-file.md rename to pd-configuration-file.md index f4768290186d..d261ab7b1830 100644 --- a/reference/configuration/pd-server/configuration-file.md +++ b/pd-configuration-file.md @@ -9,7 +9,7 @@ category: reference PD 配置文件比命令行参数支持更多的选项。你可以在 [conf/config.toml](https://github.com/pingcap/pd/blob/master/conf/config.toml) 找到默认的配置文件。 -本文档只阐述未包含在命令行参数中的参数,命令行参数参见 [PD 配置参数](/reference/configuration/pd-server/configuration.md)。 +本文档只阐述未包含在命令行参数中的参数,命令行参数参见 [PD 配置参数](/command-line-flags-for-pd-configuration.md)。 ### `lease` diff --git a/reference/tools/pd-control.md b/pd-control.md similarity index 100% rename from reference/tools/pd-control.md rename to pd-control.md diff --git a/reference/tools/pd-recover.md b/pd-recover.md similarity index 100% rename from reference/tools/pd-recover.md rename to pd-recover.md diff --git a/reference/transactions/transaction-pessimistic.md b/pessimistic-transaction.md similarity index 100% rename from reference/transactions/transaction-pessimistic.md rename to pessimistic-transaction.md diff --git a/reference/security/privilege-system.md b/privilege-management.md similarity index 100% rename from reference/security/privilege-system.md rename to privilege-management.md diff --git a/how-to/deploy/orchestrated/tiup.md b/production-deployment-using-tiup.md similarity index 98% rename from how-to/deploy/orchestrated/tiup.md rename to production-deployment-using-tiup.md index 5be18ec972cc..f4357ba25ff4 100644 --- a/how-to/deploy/orchestrated/tiup.md +++ b/production-deployment-using-tiup.md @@ -51,7 +51,7 @@ category: how-to - 所有部署机器[关闭系统 swap](#如何关闭系统-swap) - 如果需要绑核操作,需要[安装 `numactl` 工具](#如何安装-numactl-工具) -其他软硬件环境配置可参考官方文档 [TiDB 软件和硬件环境建议配置](/how-to/deploy/hardware-recommendations.md)。 +其他软硬件环境配置可参考官方文档 [TiDB 软件和硬件环境建议配置](/hardware-and-software-requirements.md)。 ### 第 2 步:在中控机上安装 TiUP 组件 @@ -324,7 +324,7 @@ category: how-to > > - 无需手动创建 tidb 用户,TiUP cluster 组件会在部署主机上自动创建该用户。可以自定义用户,也可以和中控机的用户保持一致。 > -> - [部署 TiFlash](/reference/tiflash/deploy.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/how-to/configure/placement-rules.md) 功能。 +> - [部署 TiFlash](/tiflash/deploy-tiflash.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/configure-placement-rules.md) 功能。 > > - tiflash_servers 实例级别配置 `"-host"` 目前只支持 IP,不支持域名。 > @@ -657,7 +657,7 @@ alertmanager_servers: > **注意:** > -> - [部署 TiFlash](/reference/tiflash/deploy.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/how-to/configure/placement-rules.md) 功能。 +> - [部署 TiFlash](/tiflash/deploy-tiflash.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/configure-placement-rules.md) 功能。 > > - tiflash_servers 实例级别配置 `"-host"` 目前只支持 IP,不支持域名。 > @@ -931,7 +931,7 @@ TiDB 关键参数: | TiKV | 3 | 16 VCore 32 GB | 10.0.1.1
10.0.1.2
10.0.1.3 | 默认端口配置 | |TiDB | 3 | 16 VCore 32 GB | 10.0.1.7
10.0.1.8
10.0.1.9 | 默认端口配置;
开启 enable_binlog;
开启 ignore-error | | PD | 3 | 4 VCore 8 GB | 10.0.1.4
10.0.1.5
10.0.1.6 | 默认端口配置 | -| TiFlash | 1 | 32 VCore 64 GB | 10.0.1.10 | 默认端口
自定义部署目录,配置 data_dir 参数为 `/data1/tiflash/data,/data2/tiflash/data`,进行[多盘部署](/reference/tiflash/configuration.md#多盘部署) | +| TiFlash | 1 | 32 VCore 64 GB | 10.0.1.10 | 默认端口
自定义部署目录,配置 data_dir 参数为 `/data1/tiflash/data,/data2/tiflash/data`,进行[多盘部署](/tiflash/tiflash-configuration.md#多盘部署) | | Pump| 3 |8 VCore 16GB |10.0.1.6
10.0.1.7
10.0.1.8 | 默认端口配置;
设置 GC 时间 7 天 | | Drainer | 1 | 8 VCore 16GB | 10.0.1.9 | 默认端口配置;
设置默认初始化 commitTS | @@ -941,7 +941,7 @@ TiDB 关键参数: > > - 配置文件模版时,如无需自定义端口或者目录,仅修改 IP 即可。 > -> - [部署 TiFlash](/reference/tiflash/deploy.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/how-to/configure/placement-rules.md) 功能。 +> - [部署 TiFlash](/tiflash/deploy-tiflash.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/configure-placement-rules.md) 功能。 > > - tiflash_servers 实例级别配置 `"-host"` 目前只支持 ip,不支持域名。 > @@ -1097,7 +1097,7 @@ alertmanager_servers: #### 部署需求 -设置默认部署目录 `/tidb-deploy` 和数据目录 `/tidb-data`,需要启动 TiCDC,可在 TiCDC 集群部署完成后[通过 `cdc cli` 创建同步任务](/reference/tools/ticdc/deploy.md#第-2-步创建同步任务)。 +设置默认部署目录 `/tidb-deploy` 和数据目录 `/tidb-data`,需要启动 TiCDC,可在 TiCDC 集群部署完成后[通过 `cdc cli` 创建同步任务](/ticdc/deploy-ticdc.md#第-2-步创建同步任务)。 #### 拓扑信息 @@ -1106,7 +1106,7 @@ alertmanager_servers: | TiKV | 3 | 16 VCore 32 GB | 10.0.1.1
10.0.1.2
10.0.1.3 | 默认端口配置 | |TiDB | 3 | 16 VCore 32 GB | 10.0.1.7
10.0.1.8
10.0.1.9 | 默认端口配置 | | PD | 3 | 4 VCore 8 GB | 10.0.1.4
10.0.1.5
10.0.1.6 | 默认端口配置 | -| TiFlash | 1 | 32 VCore 64 GB | 10.0.1.10 | 默认端口
自定义部署目录,配置 data_dir 参数为 `/data1/tiflash/data,/data2/tiflash/data`,进行[多盘部署](/reference/tiflash/configuration.md#多盘部署) | +| TiFlash | 1 | 32 VCore 64 GB | 10.0.1.10 | 默认端口
自定义部署目录,配置 data_dir 参数为 `/data1/tiflash/data,/data2/tiflash/data`,进行[多盘部署](/tiflash/tiflash-configuration.md#多盘部署) | | CDC| 3 |8 VCore 16GB |10.0.1.6
10.0.1.7
10.0.1.8 | 默认端口配置 | #### 配置文件模版 topology.yaml @@ -1115,7 +1115,7 @@ alertmanager_servers: > > - 配置文件模版时,如无需自定义端口或者目录,仅修改 IP 即可。 > -> - [部署 TiFlash](/reference/tiflash/deploy.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/how-to/configure/placement-rules.md) 功能。 +> - [部署 TiFlash](/tiflash/deploy-tiflash.md) 需要在 topology.yaml 配置文件中将 `replication.enable-placement-rules` 设置为 `true`,以开启 PD 的 [Placement Rules](/configure-placement-rules.md) 功能。 > > - tiflash_servers 实例级别配置 `"-host"` 目前只支持 ip,不支持域名。 > diff --git a/reference/performance/understanding-the-query-execution-plan.md b/query-execution-plan.md similarity index 99% rename from reference/performance/understanding-the-query-execution-plan.md rename to query-execution-plan.md index 7b92a67341bb..0eb2974a5d94 100644 --- a/reference/performance/understanding-the-query-execution-plan.md +++ b/query-execution-plan.md @@ -13,7 +13,7 @@ TiDB 优化器会根据当前数据表的实际情况来选择最优的执行计 - `EXPLAIN` 可以和 `SELECT`,`DELETE` 等语句一起使用; - 执行 `EXPLAIN`,TiDB 会返回被 `EXPLAIN` 的 SQL 语句经过优化器后的最终物理执行计划。也就是说,`EXPLAIN` 展示了 TiDB 执行该 SQL 语句的完整信息,比如以什么样的顺序,什么方式 JOIN 两个表,表达式树长什么样等等。 -- 关于 `EXPLAIN` 每列的简述,可以参见 [EXPLAIN 输出格式](/reference/sql/statements/explain.md)。 +- 关于 `EXPLAIN` 每列的简述,可以参见 [EXPLAIN 输出格式](/sql-statements/sql-statement-explain.md)。 通过观察 `EXPLAIN` 的结果,你可以知道如何给数据表添加索引使得执行计划使用索引从而加速 SQL 语句的执行速度;你也可以使用 `EXPLAIN` 来检查优化器是否选择了最优的顺序来 JOIN 数据表。 @@ -81,7 +81,7 @@ SQL 优化的目标之一是将计算尽可能地下推到 TiKV 中执行。TiKV 不同的算子在 explain 时输出的信息各有不同,接下来这部分将会讲述如何阅读各种扫表、聚合、连接算子的执行计划。 -可以使用优化器提示来控制优化器的行为,以此控制物理算子的选择,如使用 `/*+ HASH_JOIN(t1, t2) */` 来提示优化器使用 Hash Join 算法,详见[优化器提示](/reference/performance/optimizer-hints.md)。 +可以使用优化器提示来控制优化器的行为,以此控制物理算子的选择,如使用 `/*+ HASH_JOIN(t1, t2) */` 来提示优化器使用 Hash Join 算法,详见[优化器提示](/optimizer-hints.md)。 如果读者想要详细了解各算子的内部实现,可以参见[源码阅读系列](https://pingcap.com/blog-cn/#TiDB-源码阅读)。 @@ -371,8 +371,8 @@ EXPLAIN SELECT count(*) FROM trips WHERE start_date BETWEEN '2017-07-01 00:00:00 ## 另请参阅 -* [EXPLAIN](/reference/sql/statements/explain.md) -* [EXPLAIN ANALYZE](/reference/sql/statements/explain-analyze.md) -* [ANALYZE TABLE](/reference/sql/statements/analyze-table.md) -* [TRACE](/reference/sql/statements/trace.md) +* [EXPLAIN](/sql-statements/sql-statement-explain.md) +* [EXPLAIN ANALYZE](/sql-statements/sql-statement-explain-analyze.md) +* [ANALYZE TABLE](/sql-statements/sql-statement-analyze-table.md) +* [TRACE](/sql-statements/sql-statement-trace.md) * [TiDB in Action](https://book.tidb.io/session3/chapter1/sql-execution-plan.html) diff --git a/quick-start-with-tidb.md b/quick-start-with-tidb.md index 3404d1299823..108aac37c7e7 100644 --- a/quick-start-with-tidb.md +++ b/quick-start-with-tidb.md @@ -7,7 +7,7 @@ category: how-to > **警告:** > -> 对于生产环境,不要使用本文介绍的方式进行部署,而应使用 [TiUP 部署 TiDB 集群](/how-to/deploy/orchestrated/tiup.md)。 +> 对于生产环境,不要使用本文介绍的方式进行部署,而应使用 [TiUP 部署 TiDB 集群](/production-deployment-using-tiup.md)。 本文介绍如何快速上手体验 TiDB 分布式数据库。有以下 3 种体验方式供用户选择。 @@ -126,7 +126,7 @@ TiDB-Wasm 是运行在浏览器中的 TiDB 数据库,打开网页即可使用 部署主机软件和环境要求: - 部署需要使用部署主机的 root 用户及密码 -- 部署主机[关闭防火墙](/how-to/deploy/orchestrated/tiup.md#如何关闭部署机器的防火墙)或者开放 TiDB 集群的节点间所需端口 +- 部署主机[关闭防火墙](/production-deployment-using-tiup.md#如何关闭部署机器的防火墙)或者开放 TiDB 集群的节点间所需端口 - 目前 TiUP 仅支持在 x86_64 (AMD64) 架构上部署 TiDB 集群(TiUP 将在 4.0 GA 时支持在 ARM 架构上部署) - 在 AMD64 架构下,建议使用 CentOS 7.3 及以上版本 Linux 操作系统 - 在 ARM 架构下,建议使用 CentOS 7.6 1810 版本 Linux 操作系统 diff --git a/how-to/get-started/read-historical-data.md b/read-historical-data.md similarity index 98% rename from how-to/get-started/read-historical-data.md rename to read-historical-data.md index f98ef21783fe..9599c626aa92 100644 --- a/how-to/get-started/read-historical-data.md +++ b/read-historical-data.md @@ -29,7 +29,7 @@ TiDB 实现了通过标准 SQL 接口读取历史数据功能,无需特殊的 TiDB 使用 MVCC 管理版本,当更新/删除数据时,不会做真正的数据删除,只会添加一个新版本数据,所以可以保留历史数据。历史数据不会全部保留,超过一定时间的历史数据会被彻底删除,以减小空间占用以及避免历史版本过多引入的性能开销。 -TiDB 使用周期性运行的 GC(Garbage Collection,垃圾回收)来进行清理,关于 GC 的详细介绍参见 [TiDB 垃圾回收 (GC)](/reference/garbage-collection/overview.md)。 +TiDB 使用周期性运行的 GC(Garbage Collection,垃圾回收)来进行清理,关于 GC 的详细介绍参见 [TiDB 垃圾回收 (GC)](/garbage-collection-overview.md)。 这里需要重点关注的是 `tikv_gc_life_time` 和 `tikv_gc_safe_point` 这条。`tikv_gc_life_time` 用于配置历史版本保留时间,可以手动修改;`tikv_gc_safe_point` 记录了当前的 safePoint,用户可以安全地使用大于 safePoint 的时间戳创建 snapshot 读取历史版本。safePoint 在每次 GC 开始运行时自动更新。 diff --git a/reference/sql/statements/desc.md b/reference/sql/statements/desc.md deleted file mode 100644 index eb1b5f291111..000000000000 --- a/reference/sql/statements/desc.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: DESC -summary: TiDB 数据库中 DESC 的使用概况。 -category: reference ---- - -# DESC - -`DESC` 语句是 [`EXPLAIN`](/reference/sql/statements/explain.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/reference/sql/statements/describe.md b/reference/sql/statements/describe.md deleted file mode 100644 index bb4d85c6868d..000000000000 --- a/reference/sql/statements/describe.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: DESCRIBE -summary: TiDB 数据库中 DESCRIBE 的使用概况。 -category: reference ---- - -# DESCRIBE - -`DESCRIBE` 语句为 [`EXPLAIN`](/reference/sql/statements/explain.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/reference/sql/statements/show-fields-from.md b/reference/sql/statements/show-fields-from.md deleted file mode 100644 index 5454119e9283..000000000000 --- a/reference/sql/statements/show-fields-from.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: SHOW [FULL] FIELDS FROM -summary: TiDB 数据库中 SHOW [FULL] FIELDS FROM 的使用概况。 -category: reference ---- - -# SHOW [FULL] FIELDS FROM - -`SHOW [FULL] FIELDS FROM` 是 [`SHOW [FULL] COLUMNS FROM`](/reference/sql/statements/show-columns-from.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/reference/sql/statements/show-index.md b/reference/sql/statements/show-index.md deleted file mode 100644 index 6686230cf28f..000000000000 --- a/reference/sql/statements/show-index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: SHOW INDEX [FROM|IN] -summary: TiDB 数据库中 SHOW INDEX [FROM|IN] 的使用概况。 -category: reference ---- - -# SHOW INDEX [FROM|IN] - -`SHOW INDEX [FROM|IN]` 语句是 [`SHOW INDEXES [FROM|IN]`](/reference/sql/statements/show-indexes.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/reference/sql/statements/show-keys.md b/reference/sql/statements/show-keys.md deleted file mode 100644 index 7a2366413436..000000000000 --- a/reference/sql/statements/show-keys.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: SHOW KEYS [FROM|IN] -summary: TiDB 数据库中 SHOW KEYS [FROM|IN] 的使用概况。 -category: reference ---- - -# SHOW KEYS [FROM|IN] - -`SHOW KEYS [FROM|IN]` 语句是 [`SHOW INDEXES [FROM|IN]`](/reference/sql/statements/show-indexes.md) 语句的别名。包含该语句提供了 MySQL 兼容性。。 diff --git a/reference/sql/statements/show-schemas.md b/reference/sql/statements/show-schemas.md deleted file mode 100644 index 3c47fac808e1..000000000000 --- a/reference/sql/statements/show-schemas.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: SHOW SCHEMAS -summary: TiDB 数据库中 SHOW SCHEMAS 的使用概况。 -category: reference ---- - -# SHOW SCHEMAS - -`SHOW SCHEMAS` 语句是 [`SHOW DATABASES`](/reference/sql/statements/show-databases.md) 的别名。包含该语句提供了 MySQL 兼容性。。 diff --git a/reference/tidb-binlog/tidb-binlog-kafka.md b/reference/tidb-binlog/tidb-binlog-kafka.md deleted file mode 100644 index 2b67fced50ed..000000000000 --- a/reference/tidb-binlog/tidb-binlog-kafka.md +++ /dev/null @@ -1,458 +0,0 @@ ---- -title: TiDB Binlog kafka 部署方案 -category: reference -aliases: ['/docs-cn/dev/reference/tools/tidb-binlog/tidb-binlog-kafka/'] ---- - -# TiDB Binlog Kafka 部署方案 - -本文档介绍如何部署 Kafka 版本的 TiDB Binlog。 - -## TiDB Binlog 简介 - -TiDB Binlog 是用于收集 TiDB 的 Binlog,并提供实时备份和同步功能的商业工具。 - -TiDB Binlog 支持以下功能场景: - -- **数据同步**:同步 TiDB 集群数据到其他数据库 -- **实时备份和恢复**:备份 TiDB 集群数据,同时可以用于 TiDB 集群故障时恢复 - -## TiDB Binlog Kafka 架构 - -首先介绍 TiDB Binlog 的整体架构。 - -![TiDB Binlog 架构](/media/tidb_binlog_kafka_architecture.png) - -TiDB Binlog 集群主要分为三个组件: - -### Pump - -Pump 是一个守护进程,在每个 TiDB 主机的后台运行。其主要功能是实时记录 TiDB 产生的 Binlog 并顺序写入 Kafka 中。 - -### Drainer - -Drainer 从 Kafka 中收集 Binlog,并按照 TiDB 中事务的提交顺序转化为指定数据库兼容的 SQL 语句,最后同步到目的数据库或者写到顺序文件。 - -### Kafka & ZooKeeper - -Kafka 集群用来存储由 Pump 写入的 Binlog 数据,并提供给 Drainer 进行读取。 - -> **注意:** -> -> Local 版本将 Binlog 存储在文件中,Kafka 版本则使用 Kafka 存储。 - -## TiDB Binlog 安装 - -以下为 TiDB Ansible 分支与 TiDB 版本的对应关系,版本选择可咨询官方 info@pingcap.com。 - -| TiDB Ansible 分支 | TiDB 版本 | 备注 | -|:----|:----|:----| -| release-2.0 | 2.0 版本 | 最新 2.0 稳定版本,可用于生产环境。 | - -### 下载官方 Binary - -环境:CentOS 7+ - -下载压缩包: - -{{< copyable "shell-regular" >}} - -```bash -wget https://download.pingcap.org/tidb-binlog-kafka-linux-amd64.tar.gz && -wget https://download.pingcap.org/tidb-binlog-kafka-linux-amd64.sha256 -``` - -检查文件完整性,返回 ok 则正确: - -{{< copyable "shell-regular" >}} - -```bash -sha256sum -c tidb-binlog-kafka-linux-amd64.sha256 -``` - -解开压缩包: - -{{< copyable "shell-regular" >}} - -```bash -tar -xzf tidb-binlog-kafka-linux-amd64.tar.gz && -cd tidb-binlog-kafka-linux-amd64 -``` - -### TiDB Binlog 部署 - -#### 注意事项 - -* 需要为一个 TiDB 集群中的每台 TiDB server 部署一个 Pump,目前 TiDB server 只支持以 unix socket 的方式输出 Binlog。 - -* 手动部署时,启动顺序为:Pump > TiDB。停止顺序为 TiDB > Pump。 - - 设置 TiDB 启动参数 `binlog-socket` 为对应的 Pump 参数 `socket` 所指定的 unix socket 文件路径,最终部署结构如下图所示: - - ![TiDB pump 模块部署结构](/media/tidb-pump-deployment.png) - -* Drainer 不支持对 ignore schemas(在过滤列表中的 schemas)的 table 进行 rename DDL 操作。 - -* 在已有的 TiDB 集群中启动 Drainer,一般需要全量备份并且获取 savepoint,然后导入全量备份,最后启动 Drainer 从 savepoint 开始同步。 - - 为了保证数据的完整性,在 Pump 运行 10 分钟左右后按顺序进行如下操作: - - * 使用 [tidb-tools](https://github.com/pingcap/tidb-tools) 项目中的 [binlogctl](https://github.com/pingcap/tidb-tools/tree/binlog-kafka/tidb_binlog/binlogctl) 工具生成 Drainer 初次启动所需的 position - * 全量备份,例如 Mydumper 备份 TiDB - * 全量导入备份到目标系统 - * Kafka 版本 Drainer 启动的 savepoint 默认保存在下游 database tidb_binlog 下的 checkpoint 表中,如果 checkpoint 表中没有有效的数据,可以通过设置 `initial-commit-ts` 启动 Drainer 从指定位置开始消费 - `bin/drainer --config=conf/drainer.toml --initial-commit-ts=${position}` - -* Drainer 输出为 pb,要在配置文件中设置如下参数: - - ```toml - [syncer] - db-type = "pb" - disable-dispatch = true - - [syncer.to] - dir = "/path/pb-dir" - ``` - -* Drainer 输出为 kafka,要在配置文件中设置如下参数: - - ```toml - [syncer] - db-type = "kafka" - - # when db-type is kafka, you need to use this to config the down stream kafka, or it will be the same kafka addrs where drainer pull binlog from. - [syncer.to] - kafka-addrs = "127.0.0.1:9092" - kafka-version = "0.8.2.0" - ``` - - 输出到 kafka 的数据为按 ts 排好序的 protobuf 定义 binlog 格式,可以参考 [driver](https://github.com/pingcap/tidb-tools/tree/master/tidb-binlog/driver) 获取数据同步到下游。 - -* Kafka 和 ZooKeeper 集群需要在部署 TiDB Binlog 之前部署好。Kafka 需要 0.9 及以上版本。 - -#### Kafka 集群配置推荐 - -|名字|数量|内存|CPU|硬盘| -|:---:|:---:|:---:|:---:|:---:| -|Kafka|3+|16G|8+|2+ 1TB| -|ZooKeeper|3+|8G|4+|2+ 300G| - -#### Kafka 配置参数推荐 - -- `auto.create.topics.enable = true`:如果还没有创建 topic,Kafka 会在 broker 上自动创建 topic -- `broker.id`:用来标识 Kafka 集群的必备参数,不能重复,如 `broker.id = 1` -- `fs.file-max = 1000000`:Kafka 会使用大量文件和网络 socket,建议修改成 1000000,通过 `vi /etc/sysctl.conf` 进行修改 -- 修改以下配置为1G, 否则很容易出现事务修改数据较多导致单个消息过大写 kafka 失败 - - * `message.max.bytes=1073741824` - * `replica.fetch.max.bytes=1073741824` - * `fetch.message.max.bytes=1073741824` - -#### 使用 TiDB Ansible 部署 Pump - -- 如无 Kafka 集群,可使用 [kafka-ansible](https://github.com/pingcap/thirdparty-ops/tree/master/kafka-ansible) 部署 Kafka 集群。 -- 使用 [tidb-ansible](https://github.com/pingcap/tidb-ansible) 部署 TiDB 集群时,修改 `tidb-ansible/inventory.ini` 文件,设置 `enable_binlog = True`,并配置 `zookeeper_addrs` 变量为 Kafka 集群的 ZooKeeper 地址,这样部署 TiDB 集群时会部署 Pump。 - -配置样例: - -```ini -# binlog trigger -enable_binlog = True -# ZooKeeper address of Kafka cluster, example: -# zookeeper_addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181" -# You can also append an optional chroot string to the URLs to specify the root directory for all Kafka znodes, example: -# zookeeper_addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181/kafka/123" -zookeeper_addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181" -``` - -#### 使用 Binary 部署 Pump - -使用样例: - -假设我们有三个 PD,三个 ZooKeeper,一个 TiDB,各个节点信息如下: - -```ini -TiDB="192.168.0.10" -PD1="192.168.0.16" -PD2="192.168.0.15" -PD3="192.168.0.14" -ZK1="192.168.0.13" -ZK2="192.168.0.12" -ZK3="192.168.0.11" -``` - -在 ip="192.168.0.10" 的机器上面部署 Drainer/Pump。 - -对应的 PD 集群的 ip="192.168.0.16,192.168.0.15,192.168.0.14"。 - -对应的 Kafka 集群的 ZooKeeper 的 ip="192.168.0.13,192.168.0.12,192.168.0.11"。以此为例,说明 Pump/Drainer 的使用。 - -1. Pump 命令行参数说明 - - ``` - Usage of Pump: - -L string - 日志输出信息等级设置: debug, info, warn, error, fatal (默认 "info") - -V - 打印版本信息 - -addr string - Pump 提供服务的 RPC 地址(-addr="192.168.0.10:8250") - -advertise-addr string - Pump 对外提供服务的 RPC 地址(-advertise-addr="192.168.0.10:8250") - -config string - 配置文件路径,如果你指定了配置文件,Pump 会首先读取配置文件的配置; - 如果对应的配置在命令行参数里面也存在,Pump 就会使用命令行参数的配置来覆盖配置文件里面的。 - -data-dir string - Pump 数据存储位置路径 - -enable-tolerant - 开启 tolerant 后,如果 binlog 写入失败,Pump 不会报错(默认开启) - -zookeeper-addrs string (-zookeeper_addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181") - ZooKeeper 地址,该选项从 ZooKeeper 中获取 Kafka 地址,需要和 Kafka 中配置相同 - -gc int - 日志最大保留天数 (默认 7),设置为 0 可永久保存 - -heartbeat-interval int - Pump 向 PD 发送心跳间隔 (单位 秒) - -log-file string - log 文件路径 - -log-rotate string - log 文件切换频率,hour/day - -metrics-addr string - Prometheus pushgateway 地址,不设置则禁止上报监控信息 - -metrics-interval int - 监控信息上报频率 (默认 15,单位 秒) - -pd-urls string - PD 集群节点的地址 (-pd-urls="http://192.168.0.16:2379,http://192.168.0.15:2379,http://192.168.0.14:2379") - -socket string - unix socket 模式服务监听地址(默认 unix:///tmp/pump.sock) - ``` - -2. Pump 配置文件 - - ```toml - # Pump Configuration. - - # Pump 提供服务的 RPC 地址("192.168.0.10:8250") - addr = "192.168.0.10:8250" - - # Pump 对外提供服务的 RPC 地址("192.168.0.10:8250") - advertise-addr = "" - - # binlog 最大保留天数 (默认 7),设置为 0 可永久保存 - gc = 7 - - # Pump 数据存储位置路径 - data-dir = "data.pump" - - # ZooKeeper 地址,该选项从 ZooKeeper 中获取 Kafka 地址,若 Kafka 中配置了命名空间,则此处需同样配置 - # zookeeper-addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181" - # 配置了命令空间的 ZooKeeper 地址配置示例 - # zookeeper-addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181/kafka/123" - - # Pump 向 PD 发送心跳的间隔 (单位 秒) - heartbeat-interval = 3 - - # PD 集群节点的地址 - pd-urls = "http://192.168.0.16:2379,http://192.168.0.15:2379,http://192.168.0.14:2379" - - # unix socket 模式服务监听地址 (默认 unix:///tmp/pump.sock) - socket = "unix:///tmp/pump.sock" - ``` - -3. 启动示例 - - {{< copyable "shell-regular" >}} - - ```bash - ./bin/pump -config pump.toml - ``` - -#### 使用 Binary 部署 Drainer - -1. Drainer 命令行参数说明 - - ``` - Usage of Drainer: - -L string - 日志输出信息等级设置:debug, info, warn, error, fatal (默认 "info") - -V - 打印版本信息 - -addr string - Drainer 提供服务的地址(-addr="192.168.0.10:8249") - -c int - 同步下游的并发数,该值设置越高同步的吞吐性能越好 (default 1) - -config string - 配置文件路径,Drainer 会首先读取配置文件的配置; - 如果对应的配置在命令行参数里面也存在,Drainer 就会使用命令行参数的配置来覆盖配置文件里面的 - -data-dir string - Drainer 数据存储位置路径 (默认 "data.drainer") - -zookeeper-addrs string (-zookeeper-addrs="192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181") - ZooKeeper 地址,该选项从 ZooKeeper 中获取 Kafka 地址,需要和 Kafka 中配置相同 - -dest-db-type string - Drainer 下游服务类型 (默认为 mysql) - -detect-interval int - 向 PD 查询在线 Pump 的时间间隔 (默认 10,单位 秒) - -disable-dispatch - 是否禁用拆分单个 binlog 的 sqls 的功能,如果设置为 true,则按照每个 binlog - 顺序依次还原成单个事务进行同步(下游服务类型为 mysql,该项设置为 False) - -ignore-schemas string - db 过滤列表 (默认 "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,test"), - 不支持对 ignore schemas 的 table 进行 rename DDL 操作 - -initial-commit-ts (默认为 0) - 如果 Drainer 没有相关的断点信息,可以通过该项来设置相关的断点信息 - -log-file string - log 文件路径 - -log-rotate string - log 文件切换频率,hour/day - -metrics-addr string - Prometheus pushgateway 地址,不设置则禁止上报监控信息 - -metrics-interval int - 监控信息上报频率(默认 15,单位 秒) - -pd-urls string - PD 集群节点的地址 (-pd-urls="http://192.168.0.16:2379,http://192.168.0.15:2379,http://192.168.0.14:2379") - -txn-batch int - 输出到下游数据库一个事务的 SQL 数量(默认 1) - ``` - -2. Drainer 配置文件 - - ```toml - # Drainer Configuration. - - # Drainer 提供服务的地址("192.168.0.10:8249") - addr = "192.168.0.10:8249" - - # 向 PD 查询在线 Pump 的时间间隔 (默认 10,单位 秒) - detect-interval = 10 - - # Drainer 数据存储位置路径 (默认 "data.drainer") - data-dir = "data.drainer" - - # ZooKeeper 地址,该选项从 ZooKeeper 中获取 Kafka 地址,若 Kafka 中配置了命名空间,则此处需同样配置 - # zookeeper-addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181" - # 配置了命令空间的 ZooKeeper 地址配置示例 - # zookeeper-addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181/kafka/123" - - # PD 集群节点的地址 - pd-urls = "http://192.168.0.16:2379,http://192.168.0.15:2379,http://192.168.0.14:2379" - - # log 文件路径 - log-file = "drainer.log" - - # Syncer Configuration. - [syncer] - - ## db 过滤列表 (默认 "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,test"), - ## 不支持对 ignore schemas 的 table 进行 rename DDL 操作 - ignore-schemas = "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql" - - # 输出到下游数据库一个事务的 SQL 数量 (default 1) - txn-batch = 1 - - # 同步下游的并发数,该值设置越高同步的吞吐性能越好 (default 1) - worker-count = 1 - - # 是否禁用拆分单个 binlog 的 sqls 的功能,如果设置为 true,则按照每个 binlog - # 顺序依次还原成单个事务进行同步(下游服务类型为 mysql, 该项设置为 False) - disable-dispatch = false - - # Drainer 下游服务类型(默认为 mysql) - # 参数有效值为 "mysql", "pb" - db-type = "mysql" - - # replicate-do-db prioritizes over replicate-do-table when they have the same db name - # and we support regex expressions, - # 以 '~' 开始声明使用正则表达式 - - #replicate-do-db = ["~^b.*","s1"] - - #[[syncer.replicate-do-table]] - #db-name ="test" - #tbl-name = "log" - - #[[syncer.replicate-do-table]] - #db-name ="test" - #tbl-name = "~^a.*" - - # db-type 设置为 mysql 时,下游数据库服务器参数 - [syncer.to] - host = "192.168.0.10" - user = "root" - password = "" - port = 3306 - - # db-type 设置为 pb 时,存放 binlog 文件的目录 - # [syncer.to] - # dir = "data.drainer" - ``` - -3. 启动示例 - - {{< copyable "shell-regular" >}} - - ```bash - ./bin/drainer -config drainer.toml - ``` - -## 下载 PbReader 工具 (Linux) - -PbReader 用于解析 Drainer 生成的 Pb 文件,并翻译成对应的 SQL 语句。 - -环境:CentOS 7+ - -下载 PbReader 压缩包: - -{{< copyable "shell-regular" >}} - -```bash -wget https://download.pingcap.org/pb_reader-latest-linux-amd64.tar.gz && -wget https://download.pingcap.org/pb_reader-latest-linux-amd64.sha256 -``` - -检查文件完整性,返回 ok 则正确: - -{{< copyable "shell-regular" >}} - -```bash -sha256sum -c pb_reader-latest-linux-amd64.sha256 -``` - -解开压缩包: - -{{< copyable "shell-regular" >}} - -```bash -tar -xzf pb_reader-latest-linux-amd64.tar.gz && -cd pb_reader-latest-linux-amd64 -``` - -PbReader 使用示例: - -{{< copyable "shell-regular" >}} - -```bash -./bin/pbReader -binlog-file=${path}/binlog-0000000000000000 -``` - -## TiDB Binlog 监控 - -本部分主要介绍如何对 TiDB Binlog 的状态、性能做监控,并通过 Prometheus + Grafana 展现 metrics 数据。 - -### Pump/Drainer 配置 - -使用 TiDB Ansible 部署的 Pump 服务已经在启动参数设置 metrics。启动 Drainer 时可以设置以下两个参数: - -- `--metrics-addr`:设为 Push Gateway 的地址 -- `--metrics-interval`:设为 push 的频率,单位为秒,默认值为 15 - -### Grafana 配置 - -+ 进入 Grafana Web 界面(默认地址: `http://localhost:3000`,默认账号:admin,密码:admin) - - 点击 Grafana Logo -> 点击 Data Sources -> 点击 Add data source -> 填写 data source 信息 - - > **注意:** - > - > Type 选 Prometheus,URL 为 Prometheus 地址,根据实际情况添加/填写。 - -+ 导入 dashboard 配置文件 - - 点击 Grafana Logo -> 点击 Dashboards -> 点击 Import -> 选择需要的 [dashboard 配置文件](https://github.com/pingcap/tidb-ansible/blob/master/scripts/syncer.json)上传 -> 选择对应的 data source diff --git a/reference/tidb-binlog/tidb-binlog-local.md b/reference/tidb-binlog/tidb-binlog-local.md deleted file mode 100644 index f62dd4b775f9..000000000000 --- a/reference/tidb-binlog/tidb-binlog-local.md +++ /dev/null @@ -1,287 +0,0 @@ ---- -title: TiDB Binlog Local 部署方案 -category: reference -aliases: ['/docs-cn/dev/reference/tools/tidb-binlog/tidb-binlog-local/'] ---- - -# TiDB Binlog Local 部署方案 - -## TiDB Binlog Local 简介 - -TiDB Binlog 是用于收集 TiDB 的 Binlog,并提供实时备份和同步功能的商业工具。 - -TiDB Binlog 支持以下功能场景: - -* **数据同步**:同步 TiDB 集群数据到其他数据库。 -* **实时备份和恢复**:备份 TiDB 集群数据,同时可以用于 TiDB 集群故障时恢复。 - -## TiDB Binlog Local 架构 - -下图为 TiDB Binlog Local的整体架构。 - -![TiDB Binlog 架构](/media/architecture.jpeg) - -TiDB Binlog Local 主要分为两个组件: - -- **Pump** 是一个守护进程,在每个 TiDB 的主机上后台运行。他的主要功能是实时记录 TiDB 产生的 Binlog 并顺序写入磁盘文件 - -- **Drainer** 从各个 Pump 节点收集 Binlog,并按照在 TiDB 中事务的提交顺序转化为指定数据库兼容的 SQL 语句,最后同步到目的数据库或者写到顺序文件 - -## TiDB Binlog Local 安装 - -### TiDB Binlog Local 下载 - -TiDB Binlog 包含在 tidb-enterprise-tools 安装包中,可[在此下载](/reference/tools/download.md)。 - -### TiDB Binlog Local 部署 - -#### 注意 - -* 需要为一个 TiDB 集群中的每台 TiDB server 部署一个 Pump,目前 TiDB server 只支持以 unix socket 方式的输出 binlog。 -* 手动部署时, 启动顺序为: Pump > TiDB,停止顺序为 TiDB > Pump - - 我们设置 TiDB 启动参数 binlog-socket 为对应的 Pump 的参数 socket 所指定的 unix socket 文件路径,最终部署结构如下图所示: - - ![TiDB pump 模块部署结构](/media/tidb-pump-deployment.png) - -* drainer 不支持对 ignore schemas(在过滤列表中的 schemas) 的 table 进行 rename DDL 操作 - -* 在已有的 TiDB 集群中启动 drainer,一般需要全量备份 并且获取 savepoint,然后导入全量备份,最后启动 drainer 从 savepoint 开始同步。 - - 为了保证数据的完整性,在 pump 运行 10 分钟左右后按顺序进行下面的操作 - - * 以 gen-savepoint model 运行 drainer 生成 drainer savepint 文件,`bin/drainer -gen-savepoint --data-dir= ${drainer_savepoint_dir} --pd-urls=${pd_urls}` - * 全量备份,例如 Mydumper 备份 tidb - * 全量导入备份到目标系统 - * 设置 savepoint 文件路径,然后启动 drainer,`bin/drainer --config=conf/drainer.toml --data-dir=${drainer_savepoint_dir}` - -* drainer 输出的 pb, 需要在配置文件设置下面的参数 - - ```toml - [syncer] - db-type = "pb" - disable-dispatch = true - - [syncer.to] - dir = "/path/pb-dir" - ``` - -#### 使用 TiDB Ansible 部署 Pump (推荐) - -* 搭建全新的 TiDB Cluster,启动顺序 pd-server -> tikv-server -> pump -> tidb-server -> drainer - * 修改 tidb-ansible inventory.ini 文件 - * enable_binlog = True - * 执行 ansible-playbook deploy.yml - * 执行 ansible-playbook start.yml - * drainer 目前需要手动部署 - -* 对已有的 TiDB Cluster 部署 binlog - * 修改 tidb-ansible inventory.ini 文件 - * enable_binlog = True - * 执行 ansible-playbook rolling_update.yml --tags=tidb - * drainer 目前需要手动部署 - -#### 使用 Binary 部署 Pump - -1. PUMP 命令行参数说明 - - ``` - Usage of pump: - -L string - 日志输出信息等级设置: debug, info, warn, error, fatal (默认 "info") - -V - 打印版本信息 - -addr string - pump 提供服务的 rpc 地址(默认 "127.0.0.1:8250") - -advertise-addr string - pump 对外提供服务的 rpc 地址(默认 "127.0.0.1:8250") - -config string - 配置文件路径,如果你指定了配置文件,pump 会首先读取配置文件的配置 - 如果对应的配置在命令行参数里面也存在,pump 就会使用命令行参数的配置来覆盖配置文件里面的 - -data-dir string - pump 数据存储位置路径 - -gc int - 日志最大保留天数 (默认 7), 设置为 0 可永久保存 - -heartbeat-interval uint - pump 向 pd 发送心跳间隔 (单位 秒) - -log-file string - log 文件路径 - -log-rotate string - log 文件切换频率, hour/day - -metrics-addr string - prometheus Pushgateway 地址,不设置则禁止上报监控信息 - -metrics-interval int - 监控信息上报频率 (默认 15,单位 秒) - -pd-urls string - pd 集群节点的地址 (默认 "http://127.0.0.1:2379") - -socket string - unix socket 模式服务监听地址 (默认 unix:///tmp/pump.sock) - ``` - - 2. PUMP 配置文件 - - ```toml - # pump Configuration. - # pump 提供服务的 rpc 地址(默认 "127.0.0.1:8250") - addr = "127.0.0.1:8250" - # pump 对外提供服务的 rpc 地址(默认 "127.0.0.1:8250") - advertise-addr = "" - # binlog 最大保留天数 (默认 7), 设置为 0 可永久保存 - gc = 7 - # pump 数据存储位置路径 - data-dir = "data.pump" - # pump 向 pd 发送心跳间隔 (单位 秒) - heartbeat-interval = 3 - # pd 集群节点的地址 (默认 "http://127.0.0.1:2379") - pd-urls = "http://127.0.0.1:2379" - # unix socket 模式服务监听地址 (默认 unix:///tmp/pump.sock) - socket = "unix:///tmp/pump.sock" - ``` - -3. 启动示例 - - {{< copyable "shell-regular" >}} - - ```bash - ./bin/pump -config pump.toml - ``` - -#### 使用 Binary 部署 Drainer - -1. Drainer 命令行参数说明 - - ``` - Usage of drainer: - -L string - 日志输出信息等级设置: debug, info, warn, error, fatal (默认 "info") - -V - 打印版本信息 - -addr string - drainer 提供服务的地址(默认 "127.0.0.1:8249") - -c int - 同步下游的并发数,该值设置越高同步的吞吐性能越好 (default 1) - -config string - 配置文件路径, drainer 会首先读取配置文件的配置 - 如果对应的配置在命令行参数里面也存在,drainer 就会使用命令行参数的配置来覆盖配置文件里面的 - -data-dir string - drainer 数据存储位置路径 (默认 "data.drainer") - -dest-db-type string - drainer 下游服务类型 (默认为 mysql) - -detect-interval int - 向 pd 查询在线 Pump 的时间间隔 (默认 10,单位 秒) - -disable-dispatch - 是否禁用拆分单个 binlog 的 sqls 的功能,如果设置为 true,则按照每个 binlog - 顺序依次还原成单个事务进行同步( 下游服务类型为 mysql, 该项设置为 False ) - -gen-savepoint - 如果设置为 true, 则只生成 drainer 的 savepoint meta 文件, 可以配合 Mydumper 使用 - -ignore-schemas string - db 过滤列表 (默认 "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,test"), - 不支持对 ignore schemas 的 table 进行 rename DDL 操作 - -log-file string - log 文件路径 - -log-rotate string - log 文件切换频率, hour/day - -metrics-addr string - Prometheus Pushgateway 地址,不设置则禁止上报监控信息 - -metrics-interval int - 监控信息上报频率 (默认 15,单位 秒) - -pd-urls string - pd 集群节点的地址 (默认 "http://127.0.0.1:2379") - -txn-batch int - 输出到下游数据库一个事务的 sql 数量 (default 1) - ``` - -2. Drainer 配置文件 - - ```toml - # drainer Configuration. - - # drainer 提供服务的地址(默认 "127.0.0.1:8249") - addr = "127.0.0.1:8249" - - # 向 pd 查询在线 pump 的时间间隔 (默认 10,单位 秒) - detect-interval = 10 - - # drainer 数据存储位置路径 (默认 "data.drainer") - data-dir = "data.drainer" - - # pd 集群节点的地址 (默认 "http://127.0.0.1:2379") - pd-urls = "http://127.0.0.1:2379" - - # log 文件路径 - log-file = "drainer.log" - - # Syncer Configuration. - [syncer] - - ## db 过滤列表 (默认 "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,test"), - ## 不支持对 ignore schemas 的 table 进行 rename DDL 操作 - ignore-schemas = "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql" - - # 输出到下游数据库一个事务的 sql 数量 (default 1) - txn-batch = 1 - - # 同步下游的并发数,该值设置越高同步的吞吐性能越好 (default 1) - worker-count = 1 - - # 是否禁用拆分单个 binlog 的 sqls 的功能,如果设置为 true,则按照每个 binlog - # 顺序依次还原成单个事务进行同步( 下游服务类型为 mysql, 该项设置为 False ) - disable-dispatch = false - - # drainer 下游服务类型 (默认为 mysql) - # 参数有效值为 "mysql", "pb" - db-type = "mysql" - - # replicate-do-db priority over replicate-do-table if have same db name - # and we support regex expression , - # 以 '~' 开始声明使用正则表达式 - - #replicate-do-db = ["~^b.*","s1"] - - #[[syncer.replicate-do-table]] - #db-name ="test" - #tbl-name = "log" - - #[[syncer.replicate-do-table]] - #db-name ="test" - #tbl-name = "~^a.*" - - # db-type 设置为 mysql 时,下游数据库服务器参数 - [syncer.to] - host = "127.0.0.1" - user = "root" - password = "" - port = 3306 - - # db-type 设置为 pb 时,存放 binlog 文件的目录 - # [syncer.to] - # dir = "data.drainer" - ``` - -3. 启动示例 - - {{< copyable "shell-regular" >}} - - ```bash - ./bin/drainer -config drainer.toml - ``` - -## TiDB Binlog Local 监控 - -这部分主要对 TiDB Binlog 的状态、性能做监控,通过 Prometheus + Grafana 展现 metrics 数据, - -### pump/drainer 配置 - -使用 TiDB Ansible 部署的 Pump 服务,已经在启动参数设置 metrics 。 - -Drainer 启动时可以设置 `--metrics-addr` 和 `--metrics-interval` 两个参数,其中 metrics-addr 设为 Push Gateway 的地址,metrics-interval 为 push 的频率,单位为秒,默认值为15 - -### Grafana 配置 - -+ 进入 Grafana Web 界面(默认地址: `http://localhost:3000`,默认账号: admin 密码: admin) - - 点击 Grafana Logo -> 点击 Data Sources -> 点击 Add data source -> 填写 data source 信息 ( 注: Type 选 Prometheus,Url 为 Prometheus 地址,根据实际情况 添加/填写 ) - -+ 导入 Dashboard 配置文件 - - 点击 Grafana Logo -> 点击 Dashboards -> 点击 Import -> 选择需要的 [dashboard 配置文件](https://github.com/pingcap/tidb-ansible/blob/master/scripts/binlog.json)上传 -> 选择对应的 data source diff --git a/releases/ga.md b/releases/release-1.0-ga.md similarity index 100% rename from releases/ga.md rename to releases/release-1.0-ga.md diff --git a/releases/11alpha.md b/releases/release-1.1-alpha.md similarity index 100% rename from releases/11alpha.md rename to releases/release-1.1-alpha.md diff --git a/releases/11beta.md b/releases/release-1.1-beta.md similarity index 100% rename from releases/11beta.md rename to releases/release-1.1-beta.md diff --git a/releases/2.0ga.md b/releases/release-2.0-ga.md similarity index 100% rename from releases/2.0ga.md rename to releases/release-2.0-ga.md diff --git a/releases/2rc1.md b/releases/release-2.0-rc.1.md similarity index 100% rename from releases/2rc1.md rename to releases/release-2.0-rc.1.md diff --git a/releases/2rc3.md b/releases/release-2.0-rc.3.md similarity index 100% rename from releases/2rc3.md rename to releases/release-2.0-rc.3.md diff --git a/releases/2rc4.md b/releases/release-2.0-rc.4.md similarity index 100% rename from releases/2rc4.md rename to releases/release-2.0-rc.4.md diff --git a/releases/2rc5.md b/releases/release-2.0-rc.5.md similarity index 100% rename from releases/2rc5.md rename to releases/release-2.0-rc.5.md diff --git a/releases/201.md b/releases/release-2.0.1.md similarity index 100% rename from releases/201.md rename to releases/release-2.0.1.md diff --git a/releases/2.0.10.md b/releases/release-2.0.10.md similarity index 100% rename from releases/2.0.10.md rename to releases/release-2.0.10.md diff --git a/releases/2.0.11.md b/releases/release-2.0.11.md similarity index 100% rename from releases/2.0.11.md rename to releases/release-2.0.11.md diff --git a/releases/202.md b/releases/release-2.0.2.md similarity index 100% rename from releases/202.md rename to releases/release-2.0.2.md diff --git a/releases/203.md b/releases/release-2.0.3.md similarity index 100% rename from releases/203.md rename to releases/release-2.0.3.md diff --git a/releases/204.md b/releases/release-2.0.4.md similarity index 100% rename from releases/204.md rename to releases/release-2.0.4.md diff --git a/releases/205.md b/releases/release-2.0.5.md similarity index 100% rename from releases/205.md rename to releases/release-2.0.5.md diff --git a/releases/206.md b/releases/release-2.0.6.md similarity index 100% rename from releases/206.md rename to releases/release-2.0.6.md diff --git a/releases/207.md b/releases/release-2.0.7.md similarity index 100% rename from releases/207.md rename to releases/release-2.0.7.md diff --git a/releases/208.md b/releases/release-2.0.8.md similarity index 100% rename from releases/208.md rename to releases/release-2.0.8.md diff --git a/releases/209.md b/releases/release-2.0.9.md similarity index 100% rename from releases/209.md rename to releases/release-2.0.9.md diff --git a/releases/21beta.md b/releases/release-2.1-beta.md similarity index 100% rename from releases/21beta.md rename to releases/release-2.1-beta.md diff --git a/releases/2.1ga.md b/releases/release-2.1-ga.md similarity index 100% rename from releases/2.1ga.md rename to releases/release-2.1-ga.md diff --git a/releases/21rc1.md b/releases/release-2.1-rc.1.md similarity index 100% rename from releases/21rc1.md rename to releases/release-2.1-rc.1.md diff --git a/releases/21rc2.md b/releases/release-2.1-rc.2.md similarity index 100% rename from releases/21rc2.md rename to releases/release-2.1-rc.2.md diff --git a/releases/21rc3.md b/releases/release-2.1-rc.3.md similarity index 100% rename from releases/21rc3.md rename to releases/release-2.1-rc.3.md diff --git a/releases/21rc4.md b/releases/release-2.1-rc.4.md similarity index 100% rename from releases/21rc4.md rename to releases/release-2.1-rc.4.md diff --git a/releases/21rc5.md b/releases/release-2.1-rc.5.md similarity index 98% rename from releases/21rc5.md rename to releases/release-2.1-rc.5.md index 801e823b1a85..abdf28493305 100644 --- a/releases/21rc5.md +++ b/releases/release-2.1-rc.5.md @@ -61,4 +61,4 @@ category: Releases ## Tools -- TiDB 支持 TiDB Binlog cluster,不兼容旧版本 TiDB Binlog [#8093](https://github.com/pingcap/tidb/pull/8093),[使用文档](/reference/tidb-binlog/overview.md) +- TiDB 支持 TiDB Binlog cluster,不兼容旧版本 TiDB Binlog [#8093](https://github.com/pingcap/tidb/pull/8093),[使用文档](/tidb-binlog/tidb-binlog-overview.md) diff --git a/releases/2.1.1.md b/releases/release-2.1.1.md similarity index 100% rename from releases/2.1.1.md rename to releases/release-2.1.1.md diff --git a/releases/2.1.10.md b/releases/release-2.1.10.md similarity index 100% rename from releases/2.1.10.md rename to releases/release-2.1.10.md diff --git a/releases/2.1.11.md b/releases/release-2.1.11.md similarity index 100% rename from releases/2.1.11.md rename to releases/release-2.1.11.md diff --git a/releases/2.1.12.md b/releases/release-2.1.12.md similarity index 100% rename from releases/2.1.12.md rename to releases/release-2.1.12.md diff --git a/releases/2.1.13.md b/releases/release-2.1.13.md similarity index 100% rename from releases/2.1.13.md rename to releases/release-2.1.13.md diff --git a/releases/2.1.14.md b/releases/release-2.1.14.md similarity index 100% rename from releases/2.1.14.md rename to releases/release-2.1.14.md diff --git a/releases/2.1.15.md b/releases/release-2.1.15.md similarity index 100% rename from releases/2.1.15.md rename to releases/release-2.1.15.md diff --git a/releases/2.1.16.md b/releases/release-2.1.16.md similarity index 100% rename from releases/2.1.16.md rename to releases/release-2.1.16.md diff --git a/releases/2.1.17.md b/releases/release-2.1.17.md similarity index 100% rename from releases/2.1.17.md rename to releases/release-2.1.17.md diff --git a/releases/2.1.18.md b/releases/release-2.1.18.md similarity index 100% rename from releases/2.1.18.md rename to releases/release-2.1.18.md diff --git a/releases/2.1.19.md b/releases/release-2.1.19.md similarity index 100% rename from releases/2.1.19.md rename to releases/release-2.1.19.md diff --git a/releases/2.1.2.md b/releases/release-2.1.2.md similarity index 93% rename from releases/2.1.2.md rename to releases/release-2.1.2.md index 532a6b0c2c57..3bf945a19981 100644 --- a/releases/2.1.2.md +++ b/releases/release-2.1.2.md @@ -35,4 +35,4 @@ category: Releases - 修复使用 checkpoint 重启后 `Too many open engines` 错误 + TiDB Binlog - 消除了 Drainer 往 Kafka 写数据的一些瓶颈点 - - TiDB 支持写 [Kafka 版本的 TiDB Binlog](https://github.com/pingcap/docs-cn/blob/master/v2.1/reference/tidb-binlog/tidb-binlog-kafka.md) + - TiDB 支持写 [Kafka 版本的 TiDB Binlog](https://pingcap.com/docs-cn/v2.1/reference/tidb-binlog/tidb-binlog-kafka/) diff --git a/releases/2.1.3.md b/releases/release-2.1.3.md similarity index 100% rename from releases/2.1.3.md rename to releases/release-2.1.3.md diff --git a/releases/2.1.4.md b/releases/release-2.1.4.md similarity index 100% rename from releases/2.1.4.md rename to releases/release-2.1.4.md diff --git a/releases/2.1.5.md b/releases/release-2.1.5.md similarity index 100% rename from releases/2.1.5.md rename to releases/release-2.1.5.md diff --git a/releases/2.1.6.md b/releases/release-2.1.6.md similarity index 100% rename from releases/2.1.6.md rename to releases/release-2.1.6.md diff --git a/releases/2.1.7.md b/releases/release-2.1.7.md similarity index 100% rename from releases/2.1.7.md rename to releases/release-2.1.7.md diff --git a/releases/2.1.8.md b/releases/release-2.1.8.md similarity index 100% rename from releases/2.1.8.md rename to releases/release-2.1.8.md diff --git a/releases/2.1.9.md b/releases/release-2.1.9.md similarity index 100% rename from releases/2.1.9.md rename to releases/release-2.1.9.md diff --git a/releases/3.0beta.md b/releases/release-3.0-beta.md similarity index 100% rename from releases/3.0beta.md rename to releases/release-3.0-beta.md diff --git a/releases/3.0-ga.md b/releases/release-3.0-ga.md similarity index 100% rename from releases/3.0-ga.md rename to releases/release-3.0-ga.md diff --git a/releases/3.0.0-beta.1.md b/releases/release-3.0.0-beta.1.md similarity index 100% rename from releases/3.0.0-beta.1.md rename to releases/release-3.0.0-beta.1.md diff --git a/releases/3.0.0-rc.1.md b/releases/release-3.0.0-rc.1.md similarity index 100% rename from releases/3.0.0-rc.1.md rename to releases/release-3.0.0-rc.1.md diff --git a/releases/3.0.0-rc.2.md b/releases/release-3.0.0-rc.2.md similarity index 100% rename from releases/3.0.0-rc.2.md rename to releases/release-3.0.0-rc.2.md diff --git a/releases/3.0.0-rc.3.md b/releases/release-3.0.0-rc.3.md similarity index 100% rename from releases/3.0.0-rc.3.md rename to releases/release-3.0.0-rc.3.md diff --git a/releases/3.0.1.md b/releases/release-3.0.1.md similarity index 100% rename from releases/3.0.1.md rename to releases/release-3.0.1.md diff --git a/releases/3.0.10.md b/releases/release-3.0.10.md similarity index 100% rename from releases/3.0.10.md rename to releases/release-3.0.10.md diff --git a/releases/3.0.11.md b/releases/release-3.0.11.md similarity index 100% rename from releases/3.0.11.md rename to releases/release-3.0.11.md diff --git a/releases/3.0.12.md b/releases/release-3.0.12.md similarity index 100% rename from releases/3.0.12.md rename to releases/release-3.0.12.md diff --git a/releases/3.0.13.md b/releases/release-3.0.13.md similarity index 100% rename from releases/3.0.13.md rename to releases/release-3.0.13.md diff --git a/releases/3.0.14.md b/releases/release-3.0.14.md similarity index 100% rename from releases/3.0.14.md rename to releases/release-3.0.14.md diff --git a/releases/3.0.2.md b/releases/release-3.0.2.md similarity index 100% rename from releases/3.0.2.md rename to releases/release-3.0.2.md diff --git a/releases/3.0.3.md b/releases/release-3.0.3.md similarity index 100% rename from releases/3.0.3.md rename to releases/release-3.0.3.md diff --git a/releases/3.0.4.md b/releases/release-3.0.4.md similarity index 100% rename from releases/3.0.4.md rename to releases/release-3.0.4.md diff --git a/releases/3.0.5.md b/releases/release-3.0.5.md similarity index 100% rename from releases/3.0.5.md rename to releases/release-3.0.5.md diff --git a/releases/3.0.6.md b/releases/release-3.0.6.md similarity index 100% rename from releases/3.0.6.md rename to releases/release-3.0.6.md diff --git a/releases/3.0.7.md b/releases/release-3.0.7.md similarity index 100% rename from releases/3.0.7.md rename to releases/release-3.0.7.md diff --git a/releases/3.0.8.md b/releases/release-3.0.8.md similarity index 98% rename from releases/3.0.8.md rename to releases/release-3.0.8.md index e7aced918195..aa8fc14ff6a5 100644 --- a/releases/3.0.8.md +++ b/releases/release-3.0.8.md @@ -61,7 +61,7 @@ TiDB Ansible 版本:3.0.8 - `tidb_enable_table_partition` 变量支持 GLOBAL SCOPE 作用域 [#14091](https://github.com/pingcap/tidb/pull/14091) - 修复新增权限时未正确将新增的权限赋予对应的用户导致用户权限可能缺失或者被误添加的问题 [#14178](https://github.com/pingcap/tidb/pull/14178) - 修复当 TiKV 链接断开时,由于 `rpcClient` 不会关闭而导致 `CheckStreamTimeoutLoop` goroutine 会泄露的问题 [#14227](https://github.com/pingcap/tidb/pull/14227) - - 支持基于证书的身份验证([使用文档](/reference/security/cert-based-authentication.md))[#13955](https://github.com/pingcap/tidb/pull/13955) + - 支持基于证书的身份验证([使用文档](/certificate-authentication.md))[#13955](https://github.com/pingcap/tidb/pull/13955) + Transaction - 创建新集群时,`tidb_txn_mode` 变量的默认值由 `""` 改为 `"pessimistic"` [#14171](https://github.com/pingcap/tidb/pull/14171) - 修复悲观事务模式,事务重试时单条语句的等锁时间没有被重置导致等锁时间过长的问题 [#13990](https://github.com/pingcap/tidb/pull/13990) diff --git a/releases/3.0.9.md b/releases/release-3.0.9.md similarity index 100% rename from releases/3.0.9.md rename to releases/release-3.0.9.md diff --git a/releases/3.1.0-beta.1.md b/releases/release-3.1.0-beta.1.md similarity index 100% rename from releases/3.1.0-beta.1.md rename to releases/release-3.1.0-beta.1.md diff --git a/releases/3.1.0-beta.2.md b/releases/release-3.1.0-beta.2.md similarity index 95% rename from releases/3.1.0-beta.2.md rename to releases/release-3.1.0-beta.2.md index 519b8fe46fea..27d5c95237bb 100644 --- a/releases/3.1.0-beta.2.md +++ b/releases/release-3.1.0-beta.2.md @@ -19,7 +19,7 @@ TiDB Ansible 版本:3.1.0-beta.2 + Tools - TiDB Lightning - - 优化配置项,部分配置项在没有进行配置的时候使用 [TiDB Lightning 配置参数](/reference/tools/tidb-lightning/config.md)中的默认配置 [#255](https://github.com/pingcap/tidb-lightning/pull/255) + - 优化配置项,部分配置项在没有进行配置的时候使用 [TiDB Lightning 配置参数](/tidb-lightning/tidb-lightning-configuration.md)中的默认配置 [#255](https://github.com/pingcap/tidb-lightning/pull/255) - 新增 `--tidb-password` 命令行参数,用于设置 TiDB 的密码 [#253](https://github.com/pingcap/tidb-lightning/pull/253) ## 新功能 diff --git a/releases/3.1.0-beta.md b/releases/release-3.1.0-beta.md similarity index 100% rename from releases/3.1.0-beta.md rename to releases/release-3.1.0-beta.md diff --git a/releases/3.1.0-ga.md b/releases/release-3.1.0-ga.md similarity index 100% rename from releases/3.1.0-ga.md rename to releases/release-3.1.0-ga.md diff --git a/releases/3.1.0-rc.md b/releases/release-3.1.0-rc.md similarity index 100% rename from releases/3.1.0-rc.md rename to releases/release-3.1.0-rc.md diff --git a/releases/3.1.1.md b/releases/release-3.1.1.md similarity index 100% rename from releases/3.1.1.md rename to releases/release-3.1.1.md diff --git a/releases/4.0.0-beta.1.md b/releases/release-4.0.0-beta.1.md similarity index 100% rename from releases/4.0.0-beta.1.md rename to releases/release-4.0.0-beta.1.md diff --git a/releases/4.0.0-beta.2.md b/releases/release-4.0.0-beta.2.md similarity index 100% rename from releases/4.0.0-beta.2.md rename to releases/release-4.0.0-beta.2.md diff --git a/releases/4.0.0-beta.md b/releases/release-4.0.0-beta.md similarity index 100% rename from releases/4.0.0-beta.md rename to releases/release-4.0.0-beta.md diff --git a/releases/4.0.0-rc.1.md b/releases/release-4.0.0-rc.1.md similarity index 100% rename from releases/4.0.0-rc.1.md rename to releases/release-4.0.0-rc.1.md diff --git a/releases/4.0.0-rc.md b/releases/release-4.0.0-rc.md similarity index 100% rename from releases/4.0.0-rc.md rename to releases/release-4.0.0-rc.md diff --git a/releases/release-notes.md b/releases/release-notes.md new file mode 100644 index 000000000000..063de2128781 --- /dev/null +++ b/releases/release-notes.md @@ -0,0 +1,107 @@ +--- +title: TiDB 版本发布历史 +category: release +--- + +# TiDB 版本发布历史 + +TiDB 历史版本发布声明如下: + +## 4.0 + +- [4.0.0-rc.1](/releases/release-4.0.0-rc.1.md) +- [4.0.0-rc](/releases/release-4.0.0-rc.md) +- [4.0.0-beta.2](/releases/release-4.0.0-beta.2.md) +- [4.0.0-beta.1](/releases/release-4.0.0-beta.1.md) +- [4.0.0-beta](/releases/release-4.0.0-beta.md) + +## 3.1 + +- [3.1.1](/releases/release-3.1.1.md) +- [3.1.0 GA](/releases/release-3.1.0-ga.md) +- [3.1.0-rc](/releases/release-3.1.0-rc.md) +- [3.1.0-beta.2](/releases/release-3.1.0-beta.2.md) +- [3.1.0-beta.1](/releases/release-3.1.0-beta.1.md) +- [3.1.0-beta](/releases/release-3.1.0-beta.md) + +## 3.0 + +- [3.0.14](/releases/release-3.0.14.md) +- [3.0.13](/releases/release-3.0.13.md) +- [3.0.12](/releases/release-3.0.12.md) +- [3.0.11](/releases/release-3.0.11.md) +- [3.0.10](/releases/release-3.0.10.md) +- [3.0.9](/releases/release-3.0.9.md) +- [3.0.8](/releases/release-3.0.8.md) +- [3.0.7](/releases/release-3.0.7.md) +- [3.0.6](/releases/release-3.0.6.md) +- [3.0.5](/releases/release-3.0.5.md) +- [3.0.4](/releases/release-3.0.4.md) +- [3.0.3](/releases/release-3.0.3.md) +- [3.0.2](/releases/release-3.0.2.md) +- [3.0.1](/releases/release-3.0.1.md) +- [3.0 GA](/releases/release-3.0-ga.md) +- [3.0.0-rc.3](/releases/release-3.0.0-rc.3.md) +- [3.0.0-rc.2](/releases/release-3.0.0-rc.2.md) +- [3.0.0-rc.1](/releases/release-3.0.0-rc.1.md) +- [3.0.0-beta.1](/releases/release-3.0.0-beta.1.md) +- [3.0.0-beta](/releases/release-3.0-beta.md) + +## 2.1 + +- [2.1.19](/releases/release-2.1.19.md) +- [2.1.18](/releases/release-2.1.18.md) +- [2.1.17](/releases/release-2.1.17.md) +- [2.1.16](/releases/release-2.1.16.md) +- [2.1.15](/releases/release-2.1.15.md) +- [2.1.14](/releases/release-2.1.14.md) +- [2.1.13](/releases/release-2.1.13.md) +- [2.1.12](/releases/release-2.1.12.md) +- [2.1.11](/releases/release-2.1.11.md) +- [2.1.10](/releases/release-2.1.10.md) +- [2.1.9](/releases/release-2.1.9.md) +- [2.1.8](/releases/release-2.1.8.md) +- [2.1.7](/releases/release-2.1.7.md) +- [2.1.6](/releases/release-2.1.6.md) +- [2.1.5](/releases/release-2.1.5.md) +- [2.1.4](/releases/release-2.1.4.md) +- [2.1.3](/releases/release-2.1.3.md) +- [2.1.2](/releases/release-2.1.2.md) +- [2.1.1](/releases/release-2.1.1.md) +- [2.1 GA](/releases/release-2.1-ga.md) +- [2.1 RC5](/releases/release-2.1-rc.5.md) +- [2.1 RC4](/releases/release-2.1-rc.4.md) +- [2.1 RC3](/releases/release-2.1-rc.3.md) +- [2.1 RC2](/releases/release-2.1-rc.2.md) +- [2.1 RC1](/releases/release-2.1-rc.1.md) +- [2.1 Beta](/releases/release-2.1-beta.md) + +## 2.0 + +- [2.0.11](/releases/release-2.0.11.md) +- [2.0.10](/releases/release-2.0.10.md) +- [2.0.9](/releases/release-2.0.9.md) +- [2.0.8](/releases/release-2.0.8.md) +- [2.0.7](/releases/release-2.0.7.md) +- [2.0.6](/releases/release-2.0.6.md) +- [2.0.5](/releases/release-2.0.5.md) +- [2.0.4](/releases/release-2.0.4.md) +- [2.0.3](/releases/release-2.0.3.md) +- [2.0.2](/releases/release-2.0.2.md) +- [2.0.1](/releases/release-2.0.1.md) +- [2.0](/releases/release-2.0-ga.md) +- [2.0 RC5](/releases/release-2.0-rc.5.md) +- [2.0 RC4](/releases/release-2.0-rc.4.md) +- [2.0 RC3](/releases/release-2.0-rc.3.md) +- [2.0 RC1](/releases/release-2.0-rc.1.md) +- [1.1 Beta](/releases/release-1.1-beta.md) +- [1.1 Alpha](/releases/release-1.1-alpha.md) + +## 1.0 + +- [1.0](/releases/release-1.0-ga.md) +- [Pre-GA](/releases/release-pre-ga.md) +- [RC4](/releases/release-rc.4.md) +- [RC3](/releases/release-rc.3.md) +- [RC2](/releases/release-rc.2.md) +- [RC1](/releases/release-rc.1.md) diff --git a/releases/prega.md b/releases/release-pre-ga.md similarity index 100% rename from releases/prega.md rename to releases/release-pre-ga.md diff --git a/releases/rc1.md b/releases/release-rc.1.md similarity index 100% rename from releases/rc1.md rename to releases/release-rc.1.md diff --git a/releases/rc2.md b/releases/release-rc.2.md similarity index 100% rename from releases/rc2.md rename to releases/release-rc.2.md diff --git a/releases/rc3.md b/releases/release-rc.3.md similarity index 100% rename from releases/rc3.md rename to releases/release-rc.3.md diff --git a/releases/rc4.md b/releases/release-rc.4.md similarity index 100% rename from releases/rc4.md rename to releases/release-rc.4.md diff --git a/releases/rn.md b/releases/rn.md deleted file mode 100644 index b221b151a0d0..000000000000 --- a/releases/rn.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: TiDB 版本发布历史 -category: release ---- - -# TiDB 版本发布历史 - -TiDB 历史版本发布声明如下: - -## 4.0 - -- [4.0.0-rc.1](/releases/4.0.0-rc.1.md) -- [4.0.0-rc](/releases/4.0.0-rc.md) -- [4.0.0-beta.2](/releases/4.0.0-beta.2.md) -- [4.0.0-beta.1](/releases/4.0.0-beta.1.md) -- [4.0.0-beta](/releases/4.0.0-beta.md) - -## 3.1 - -- [3.1.1](/releases/3.1.1.md) -- [3.1.0 GA](/releases/3.1.0-ga.md) -- [3.1.0-rc](/releases/3.1.0-rc.md) -- [3.1.0-beta.2](/releases/3.1.0-beta.2.md) -- [3.1.0-beta.1](/releases/3.1.0-beta.1.md) -- [3.1.0-beta](/releases/3.1.0-beta.md) - -## 3.0 - -- [3.0.14](/releases/3.0.14.md) -- [3.0.13](/releases/3.0.13.md) -- [3.0.12](/releases/3.0.12.md) -- [3.0.11](/releases/3.0.11.md) -- [3.0.10](/releases/3.0.10.md) -- [3.0.9](/releases/3.0.9.md) -- [3.0.8](/releases/3.0.8.md) -- [3.0.7](/releases/3.0.7.md) -- [3.0.6](/releases/3.0.6.md) -- [3.0.5](/releases/3.0.5.md) -- [3.0.4](/releases/3.0.4.md) -- [3.0.3](/releases/3.0.3.md) -- [3.0.2](/releases/3.0.2.md) -- [3.0.1](/releases/3.0.1.md) -- [3.0 GA](/releases/3.0-ga.md) -- [3.0.0-rc.3](/releases/3.0.0-rc.3.md) -- [3.0.0-rc.2](/releases/3.0.0-rc.2.md) -- [3.0.0-rc.1](/releases/3.0.0-rc.1.md) -- [3.0.0-beta.1](/releases/3.0.0-beta.1.md) -- [3.0.0-beta](/releases/3.0beta.md) - -## 2.1 - -- [2.1.19](/releases/2.1.19.md) -- [2.1.18](/releases/2.1.18.md) -- [2.1.17](/releases/2.1.17.md) -- [2.1.16](/releases/2.1.16.md) -- [2.1.15](/releases/2.1.15.md) -- [2.1.14](/releases/2.1.14.md) -- [2.1.13](/releases/2.1.13.md) -- [2.1.12](/releases/2.1.12.md) -- [2.1.11](/releases/2.1.11.md) -- [2.1.10](/releases/2.1.10.md) -- [2.1.9](/releases/2.1.9.md) -- [2.1.8](/releases/2.1.8.md) -- [2.1.7](/releases/2.1.7.md) -- [2.1.6](/releases/2.1.6.md) -- [2.1.5](/releases/2.1.5.md) -- [2.1.4](/releases/2.1.4.md) -- [2.1.3](/releases/2.1.3.md) -- [2.1.2](/releases/2.1.2.md) -- [2.1.1](/releases/2.1.1.md) -- [2.1 GA](/releases/2.1ga.md) -- [2.1 RC5](/releases/21rc5.md) -- [2.1 RC4](/releases/21rc4.md) -- [2.1 RC3](/releases/21rc3.md) -- [2.1 RC2](/releases/21rc2.md) -- [2.1 RC1](/releases/21rc1.md) -- [2.1 Beta](/releases/21beta.md) - -## 2.0 - -- [2.0.11](/releases/2.0.11.md) -- [2.0.10](/releases/2.0.10.md) -- [2.0.9](/releases/209.md) -- [2.0.8](/releases/208.md) -- [2.0.7](/releases/207.md) -- [2.0.6](/releases/206.md) -- [2.0.5](/releases/205.md) -- [2.0.4](/releases/204.md) -- [2.0.3](/releases/203.md) -- [2.0.2](/releases/202.md) -- [2.0.1](/releases/201.md) -- [2.0](/releases/2.0ga.md) -- [2.0 RC5](/releases/2rc5.md) -- [2.0 RC4](/releases/2rc4.md) -- [2.0 RC3](/releases/2rc3.md) -- [2.0 RC1](/releases/2rc1.md) -- [1.1 Beta](/releases/11beta.md) -- [1.1 Alpha](/releases/11alpha.md) - -## 1.0 - -- [1.0](/releases/ga.md) -- [Pre-GA](/releases/prega.md) -- [RC4](/releases/rc4.md) -- [RC3](/releases/rc3.md) -- [RC2](/releases/rc2.md) -- [RC1](/releases/rc1.md) diff --git a/reference/security/role-based-access-control.md b/role-based-access-control.md similarity index 95% rename from reference/security/role-based-access-control.md rename to role-based-access-control.md index 654d62ae4dba..c275f6489705 100644 --- a/reference/security/role-based-access-control.md +++ b/role-based-access-control.md @@ -23,14 +23,14 @@ TiDB 的基于角色的访问控制 (RBAC) 系统的实现类似于 MySQL 8.0 CREATE ROLE 'app_developer', 'app_read', 'app_write'; ``` -角色名的格式和规范可以参考 [TiDB 用户账户管理](/reference/security/user-account-management.md)。 +角色名的格式和规范可以参考 [TiDB 用户账户管理](/user-account-management.md)。 角色会被保存在 `mysql.user` 表中,如果表中有同名角色或用户,角色会创建失败并报错。 创建角色的用户需要拥有 `CREATE ROLE` 或 `CREATE USER` 权限。 ### 授予角色权限 -为角色授予权限和为用户授予权限操作相同,可参考 [TiDB 权限管理](/reference/security/privilege-system.md)。 +为角色授予权限和为用户授予权限操作相同,可参考 [TiDB 权限管理](/privilege-management.md)。 为 `app_read` 角色授予数据库 `app_db` 的读权限: @@ -341,7 +341,7 @@ REVOKE 'app_read', 'app_write' FROM 'rw_user1'@'localhost'; REVOKE INSERT, UPDATE, DELETE ON app_db.* FROM 'app_write'; ``` -具体可参考 [TiDB 权限管理](/reference/security/privilege-system.md)。 +具体可参考 [TiDB 权限管理](/privilege-management.md)。 ### 删除角色 @@ -358,7 +358,7 @@ DROP ROLE 'app_read', 'app_write'; ### 授权表 -在原有的四张[系统权限表](/reference/security/privilege-system.md#授权表)的基础上,角色访问控制引入了两张新的系统表: +在原有的四张[系统权限表](/privilege-management.md#授权表)的基础上,角色访问控制引入了两张新的系统表: - `mysql.role_edges`:记录角色与用户的授权关系 - `mysql.default_roles`:记录每个用户默认启用的角色 @@ -406,5 +406,5 @@ select * from mysql.default_roles; 由于基于角色的访问控制模块和用户管理以及权限管理结合十分紧密,因此需要参考一些操作的细节: -- [TiDB 权限管理](/reference/security/privilege-system.md) -- [TiDB 用户账户管理](/reference/security/user-account-management.md) +- [TiDB 权限管理](/privilege-management.md) +- [TiDB 用户账户管理](/user-account-management.md) diff --git a/how-to/scale/with-ansible.md b/scale-tidb-using-ansible.md similarity index 98% rename from how-to/scale/with-ansible.md rename to scale-tidb-using-ansible.md index 8e9a39c92f86..0550f983ba5e 100644 --- a/how-to/scale/with-ansible.md +++ b/scale-tidb-using-ansible.md @@ -255,7 +255,7 @@ TiDB 集群可以在不影响线上服务的情况下进行扩容和缩容。 > **注意:** > - > 启动前,需要通过 [PD Control](/reference/tools/pd-control.md) 工具确认当前 PD 节点的 `health` 状态均为 "true",否则 PD 服务会启动失败,同时日志中报错 `["join meet error"] [error="etcdserver: unhealthy cluster"]`。 + > 启动前,需要通过 [PD Control](/pd-control.md) 工具确认当前 PD 节点的 `health` 状态均为 "true",否则 PD 服务会启动失败,同时日志中报错 `["join meet error"] [error="etcdserver: unhealthy cluster"]`。 4. 使用 `pd-ctl` 检查新节点是否添加成功: diff --git a/how-to/scale/with-tiup.md b/scale-tidb-using-tiup.md similarity index 95% rename from how-to/scale/with-tiup.md rename to scale-tidb-using-tiup.md index 90f5e8e2e6ef..bb1f5884de9c 100644 --- a/how-to/scale/with-tiup.md +++ b/scale-tidb-using-tiup.md @@ -7,7 +7,7 @@ category: how-to TiDB 集群可以在不影响线上服务的情况下进行扩容和缩容。 -本文介绍如何使用 TiUP 扩容缩容集群中的 TiDB、TiKV、PD、TiCDC 或者 TiFlash 节点。如未安装 TiUP,可参考[升级文档中的步骤](/how-to/upgrade/using-tiup.md#2-在中控机器上安装-tiup),将集群 import 到 TiUP 环境中,再进行扩容缩容。 +本文介绍如何使用 TiUP 扩容缩容集群中的 TiDB、TiKV、PD、TiCDC 或者 TiFlash 节点。如未安装 TiUP,可参考[升级文档中的步骤](/upgrade-tidb-using-tiup.md#2-在中控机器上安装-tiup),将集群 import 到 TiUP 环境中,再进行扩容缩容。 你可以通过 `tiup cluster list` 查看当前的集群名称列表。 @@ -218,7 +218,7 @@ tiup cluster display ### 4.1 下线该 TiFlash 节点 -参考[下线 TiFlash 节点](/reference/tiflash/maintain.md#下线-tiflash-节点)一节,对要进行缩容的 TiFlash 节点进行下线操作。 +参考[下线 TiFlash 节点](/tiflash/maintain-tiflash.md#下线-tiflash-节点)一节,对要进行缩容的 TiFlash 节点进行下线操作。 ### 4.2 检查节点是否下线成功 diff --git a/reference/sql/language-structure/schema-object-names.md b/schema-object-names.md similarity index 100% rename from reference/sql/language-structure/schema-object-names.md rename to schema-object-names.md diff --git a/scripts/verify-links.sh b/scripts/verify-links.sh index 85e84883e6c2..300b75d8401c 100755 --- a/scripts/verify-links.sh +++ b/scripts/verify-links.sh @@ -69,7 +69,7 @@ if [ "$error_files" -gt 0 ]; then echo "Link error: $error_files files have invalid links. The faulty files are listed below, please fix the wrong links!" echo "" echo "=== Hint on how to fix links === " - echo "Links in TiDB documentation follow a style like '/reference/tidb-binlog/deploy.md#服务器要求'. That is, you need to make sure that:" + echo "Links in TiDB documentation follow a style like '/tidb-binlog/deploy-tidb-binlog.md#服务器要求'. That is, you need to make sure that:" echo "1) Links start with a slash; 2) Anchor links are written in a '/dir/xxx.md#anchor-point' style; 3) Links don't start with a version, e.g. '/v3.0/...' is wrong and '/v3.0' should be removed." echo "" echo "=== ERROR REPORT == ": diff --git a/reference/security/compatibility.md b/security-compatibility-with-mysql.md similarity index 100% rename from reference/security/compatibility.md rename to security-compatibility-with-mysql.md diff --git a/reference/sql/sql-mode.md b/sql-mode.md similarity index 100% rename from reference/sql/sql-mode.md rename to sql-mode.md diff --git a/reference/performance/sql-optimizer-overview.md b/sql-optimization-concepts.md similarity index 93% rename from reference/performance/sql-optimizer-overview.md rename to sql-optimization-concepts.md index 61837c9168c6..b7e07d6651e9 100644 --- a/reference/performance/sql-optimizer-overview.md +++ b/sql-optimization-concepts.md @@ -14,11 +14,11 @@ category: reference - 列裁剪 - 投影消除 - 关联子查询去关联 -- [Max/Min 消除](/reference/performance/max-min-eliminate.md) +- [Max/Min 消除](/max-min-eliminate.md) - 谓词下推 - 分区裁剪 - TopN 和 Limit 下推 -- [Join Reorder](/reference/performance/join-reorder.md) +- [Join Reorder](/join-reorder.md) ## 物理优化简介 diff --git a/reference/sql/statements/add-column.md b/sql-statements/sql-statement-add-column.md similarity index 93% rename from reference/sql/statements/add-column.md rename to sql-statements/sql-statement-add-column.md index 2a00e4f97c4e..4a795dc9dedb 100644 --- a/reference/sql/statements/add-column.md +++ b/sql-statements/sql-statement-add-column.md @@ -125,5 +125,5 @@ SELECT * FROM t1; ## 另请参阅 -* [ADD INDEX](/reference/sql/statements/add-index.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) +* [ADD INDEX](/sql-statements/sql-statement-add-index.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) diff --git a/reference/sql/statements/add-index.md b/sql-statements/sql-statement-add-index.md similarity index 86% rename from reference/sql/statements/add-index.md rename to sql-statements/sql-statement-add-index.md index 76bfe6bccf62..658a236bc2cf 100644 --- a/reference/sql/statements/add-index.md +++ b/sql-statements/sql-statement-add-index.md @@ -101,14 +101,14 @@ EXPLAIN SELECT * FROM t1 WHERE c1 = 3; * 不支持 `FULLTEXT`,`HASH` 和 `SPATIAL` 索引。 * 不支持降序索引(类似于 MySQL 5.7)。 * 目前尚不支持同时添加多个索引。 -* 默认无法向表中添加 `PRIMARY KEY`,在开启 `alter-primary-key` 配置项后可支持此功能,详情参考:[alter-primary-key](/reference/configuration/tidb-server/configuration-file.md#alter-primary-key)。 +* 默认无法向表中添加 `PRIMARY KEY`,在开启 `alter-primary-key` 配置项后可支持此功能,详情参考:[alter-primary-key](/tidb-configuration-file.md#alter-primary-key)。 ## 另请参阅 -* [CREATE INDEX](/reference/sql/statements/create-index.md) -* [DROP INDEX](/reference/sql/statements/drop-index.md) -* [RENAME INDEX](/reference/sql/statements/rename-index.md) -* [ALTER INDEX](/reference/sql/statements/alter-index.md) -* [ADD COLUMN](/reference/sql/statements/add-column.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [EXPLAIN](/reference/sql/statements/explain.md) +* [CREATE INDEX](/sql-statements/sql-statement-create-index.md) +* [DROP INDEX](/sql-statements/sql-statement-drop-index.md) +* [RENAME INDEX](/sql-statements/sql-statement-rename-index.md) +* [ALTER INDEX](/sql-statements/sql-statement-alter-index.md) +* [ADD COLUMN](/sql-statements/sql-statement-add-column.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [EXPLAIN](/sql-statements/sql-statement-explain.md) diff --git a/reference/sql/statements/admin.md b/sql-statements/sql-statement-admin.md similarity index 97% rename from reference/sql/statements/admin.md rename to sql-statements/sql-statement-admin.md index d752fd4d1a0e..a7d61466944a 100644 --- a/reference/sql/statements/admin.md +++ b/sql-statements/sql-statement-admin.md @@ -64,7 +64,7 @@ ADMIN CHECK TABLE tbl_name [, tbl_name] ...; ADMIN REPAIR TABLE tbl_name CREATE TABLE STATEMENT; ``` -`ADMIN REPAIR TABLE tbl_name CREATE TABLE STATEMENT` 用于在极端情况下,对存储层中的表的元信息进行非可信的覆盖。“非可信”是指需要人为保证原表的元信息可以完全由 `CREATE TABLE STATEMENT` 提供。该语句需要打开配置文件项中的 [`repair-mode`](/reference/configuration/tidb-server/configuration-file.md#repair-mode) 开关,并且需要确保所修复的表名在 [`repair-table-list`](/reference/configuration/tidb-server/configuration-file.md#repair-table-list) 名单中。 +`ADMIN REPAIR TABLE tbl_name CREATE TABLE STATEMENT` 用于在极端情况下,对存储层中的表的元信息进行非可信的覆盖。“非可信”是指需要人为保证原表的元信息可以完全由 `CREATE TABLE STATEMENT` 提供。该语句需要打开配置文件项中的 [`repair-mode`](/tidb-configuration-file.md#repair-mode) 开关,并且需要确保所修复的表名在 [`repair-table-list`](/tidb-configuration-file.md#repair-table-list) 名单中。 ## 语句概览 diff --git a/reference/sql/statements/alter-database.md b/sql-statements/sql-statement-alter-database.md similarity index 73% rename from reference/sql/statements/alter-database.md rename to sql-statements/sql-statement-alter-database.md index 6e36ac3c122d..e3f24f93257b 100644 --- a/reference/sql/statements/alter-database.md +++ b/sql-statements/sql-statement-alter-database.md @@ -20,9 +20,9 @@ alter_specification: | [DEFAULT] COLLATE [=] collation_name ``` -`alter_specification` 选项用于指定数据库具体的 `CHARACTER SET` 和 `COLLATE`。目前 TiDB 只支持部分的字符集和排序规则,请参照[字符集支持](/reference/sql/characterset-and-collation.md)。 +`alter_specification` 选项用于指定数据库具体的 `CHARACTER SET` 和 `COLLATE`。目前 TiDB 只支持部分的字符集和排序规则,请参照[字符集支持](/character-set-and-collation.md)。 ## 另请参阅 -* [CREATE DATABASE](/reference/sql/statements/create-database.md) -* [SHOW DATABASES](/reference/sql/statements/show-databases.md) +* [CREATE DATABASE](/sql-statements/sql-statement-create-database.md) +* [SHOW DATABASES](/sql-statements/sql-statement-show-databases.md) diff --git a/reference/sql/statements/alter-index.md b/sql-statements/sql-statement-alter-index.md similarity index 95% rename from reference/sql/statements/alter-index.md rename to sql-statements/sql-statement-alter-index.md index 0b0c2f1b1c4b..83194b043670 100644 --- a/reference/sql/statements/alter-index.md +++ b/sql-statements/sql-statement-alter-index.md @@ -183,8 +183,8 @@ ERROR 3522 (HY000): A primary key index cannot be invisible ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [CREATE INDEX](/reference/sql/statements/create-index.md) -* [ADD INDEX](/reference/sql/statements/add-index.md) -* [DROP INDEX](/reference/sql/statements/drop-index.md) -* [RENAME INDEX](/reference/sql/statements/rename-index.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [CREATE INDEX](/sql-statements/sql-statement-create-index.md) +* [ADD INDEX](/sql-statements/sql-statement-add-index.md) +* [DROP INDEX](/sql-statements/sql-statement-drop-index.md) +* [RENAME INDEX](/sql-statements/sql-statement-rename-index.md) diff --git a/reference/sql/statements/alter-instance.md b/sql-statements/sql-statement-alter-instance.md similarity index 73% rename from reference/sql/statements/alter-instance.md rename to sql-statements/sql-statement-alter-instance.md index 30e7b4d6d10a..be226270d649 100644 --- a/reference/sql/statements/alter-instance.md +++ b/sql-statements/sql-statement-alter-instance.md @@ -10,7 +10,7 @@ category: reference ## RELOAD TLS -`ALTER INSTANCE RELOAD TLS` 语句用于从原配置的证书 ([`ssl-cert`](/reference/configuration/tidb-server/configuration-file.md#ssl-cert))、密钥 ([`ssl-key`](/reference/configuration/tidb-server/configuration-file.md#ssl-key)) 和 CA ([`ssl-ca`](/reference/configuration/tidb-server/configuration-file.md#ssl-ca)) 的路径重新加证书、密钥和 CA。 +`ALTER INSTANCE RELOAD TLS` 语句用于从原配置的证书 ([`ssl-cert`](/tidb-configuration-file.md#ssl-cert))、密钥 ([`ssl-key`](/tidb-configuration-file.md#ssl-key)) 和 CA ([`ssl-ca`](/tidb-configuration-file.md#ssl-ca)) 的路径重新加证书、密钥和 CA。 新加载的证书密钥和 CA 将在语句执行成功后对新建立的连接生效,不会影响语句执行前已建立的连接。 @@ -34,4 +34,4 @@ ALTER INSTANCE RELOAD TLS; ## 另请参阅 -[MySQL 客户端开启 TLS](/how-to/secure/enable-tls-clients.md) +[MySQL 客户端开启 TLS](/encrypted-connections-with-tls-protocols.md) diff --git a/reference/sql/statements/alter-table.md b/sql-statements/sql-statement-alter-table.md similarity index 73% rename from reference/sql/statements/alter-table.md rename to sql-statements/sql-statement-alter-table.md index c9edf244fb47..4fd61f9a84c2 100644 --- a/reference/sql/statements/alter-table.md +++ b/sql-statements/sql-statement-alter-table.md @@ -8,8 +8,8 @@ category: reference `ALTER TABLE` 语句用于对已有表进行修改,以符合新表结构。`ALTER TABLE` 语句可用于: -* [`ADD`](/reference/sql/statements/add-index.md),[`DROP`](/reference/sql/statements/drop-index.md),或 [`RENAME`](/reference/sql/statements/rename-index.md) 索引 -* [`ADD`](/reference/sql/statements/add-column.md),[`DROP`](/reference/sql/statements/drop-column.md),[`MODIFY`](/reference/sql/statements/modify-column.md) 或 [`CHANGE`](/reference/sql/statements/change-column.md) 列 +* [`ADD`](/sql-statements/sql-statement-add-index.md),[`DROP`](/sql-statements/sql-statement-drop-index.md),或 [`RENAME`](/sql-statements/sql-statement-rename-index.md) 索引 +* [`ADD`](/sql-statements/sql-statement-add-column.md),[`DROP`](/sql-statements/sql-statement-drop-column.md),[`MODIFY`](/sql-statements/sql-statement-modify-column.md) 或 [`CHANGE`](/sql-statements/sql-statement-change-column.md) 列 ## 语法图 @@ -98,12 +98,12 @@ EXPLAIN SELECT * FROM t1 WHERE c1 = 3; ## 另请参阅 -* [ADD COLUMN](/reference/sql/statements/add-column.md) -* [DROP COLUMN](/reference/sql/statements/drop-column.md) -* [ADD INDEX](/reference/sql/statements/add-index.md) -* [DROP INDEX](/reference/sql/statements/drop-index.md) -* [RENAME INDEX](/reference/sql/statements/rename-index.md) -* [ALTER INDEX](/reference/sql/statements/alter-index.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [DROP TABLE](/reference/sql/statements/drop-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) +* [ADD COLUMN](/sql-statements/sql-statement-add-column.md) +* [DROP COLUMN](/sql-statements/sql-statement-drop-column.md) +* [ADD INDEX](/sql-statements/sql-statement-add-index.md) +* [DROP INDEX](/sql-statements/sql-statement-drop-index.md) +* [RENAME INDEX](/sql-statements/sql-statement-rename-index.md) +* [ALTER INDEX](/sql-statements/sql-statement-alter-index.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) diff --git a/reference/sql/statements/alter-user.md b/sql-statements/sql-statement-alter-user.md similarity index 91% rename from reference/sql/statements/alter-user.md rename to sql-statements/sql-statement-alter-user.md index 8b6f508b4643..4f2f6e1893bf 100644 --- a/reference/sql/statements/alter-user.md +++ b/sql-statements/sql-statement-alter-user.md @@ -78,7 +78,7 @@ SHOW CREATE USER 'newuser'; ## 另请参阅 -* [Security Compatibility with MySQL](/reference/security/compatibility.md) -* [CREATE USER](/reference/sql/statements/create-user.md) -* [DROP USER](/reference/sql/statements/drop-user.md) -* [SHOW CREATE USER](/reference/sql/statements/show-create-user.md) +* [Security Compatibility with MySQL](/security-compatibility-with-mysql.md) +* [CREATE USER](/sql-statements/sql-statement-create-user.md) +* [DROP USER](/sql-statements/sql-statement-drop-user.md) +* [SHOW CREATE USER](/sql-statements/sql-statement-show-create-user.md) diff --git a/reference/sql/statements/analyze-table.md b/sql-statements/sql-statement-analyze-table.md similarity index 96% rename from reference/sql/statements/analyze-table.md rename to sql-statements/sql-statement-analyze-table.md index 48a23d97ceac..fe17f83e2580 100644 --- a/reference/sql/statements/analyze-table.md +++ b/sql-statements/sql-statement-analyze-table.md @@ -105,5 +105,5 @@ EXPLAIN SELECT * FROM t1 WHERE c1 = 3; ## 另请参阅 -* [EXPLAIN](/reference/sql/statements/explain.md) -* [EXPLAIN ANALYZE](/reference/sql/statements/explain-analyze.md) +* [EXPLAIN](/sql-statements/sql-statement-explain.md) +* [EXPLAIN ANALYZE](/sql-statements/sql-statement-explain-analyze.md) diff --git a/reference/sql/statements/begin.md b/sql-statements/sql-statement-begin.md similarity index 85% rename from reference/sql/statements/begin.md rename to sql-statements/sql-statement-begin.md index cd8e1ecce868..d3edcbe19905 100644 --- a/reference/sql/statements/begin.md +++ b/sql-statements/sql-statement-begin.md @@ -64,6 +64,6 @@ Query OK, 0 rows affected (0.01 sec) ## 另请参阅 -* [COMMIT](/reference/sql/statements/commit.md) -* [ROLLBACK](/reference/sql/statements/rollback.md) -* [START TRANSACTION](/reference/sql/statements/start-transaction.md) +* [COMMIT](/sql-statements/sql-statement-commit.md) +* [ROLLBACK](/sql-statements/sql-statement-rollback.md) +* [START TRANSACTION](/sql-statements/sql-statement-start-transaction.md) diff --git a/reference/sql/statements/change-column.md b/sql-statements/sql-statement-change-column.md similarity index 86% rename from reference/sql/statements/change-column.md rename to sql-statements/sql-statement-change-column.md index 19afc8e166a9..86d05e2f98c6 100644 --- a/reference/sql/statements/change-column.md +++ b/sql-statements/sql-statement-change-column.md @@ -114,8 +114,8 @@ ERROR 1105 (HY000): can't run multi schema change ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) -* [ADD COLUMN](/reference/sql/statements/add-column.md) -* [DROP COLUMN](/reference/sql/statements/drop-column.md) -* [MODIFY COLUMN](/reference/sql/statements/modify-column.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) +* [ADD COLUMN](/sql-statements/sql-statement-add-column.md) +* [DROP COLUMN](/sql-statements/sql-statement-drop-column.md) +* [MODIFY COLUMN](/sql-statements/sql-statement-modify-column.md) diff --git a/reference/sql/statements/commit.md b/sql-statements/sql-statement-commit.md similarity index 83% rename from reference/sql/statements/commit.md rename to sql-statements/sql-statement-commit.md index e44590443b57..d855b135b5d0 100644 --- a/reference/sql/statements/commit.md +++ b/sql-statements/sql-statement-commit.md @@ -65,7 +65,7 @@ Query OK, 0 rows affected (0.01 sec) ## 另请参阅 -* [START TRANSACTION](/reference/sql/statements/start-transaction.md) -* [ROLLBACK](/reference/sql/statements/rollback.md) -* [BEGIN](/reference/sql/statements/begin.md) -* [事务的惰性检查](/reference/transactions/overview.md#事务的惰性检查) +* [START TRANSACTION](/sql-statements/sql-statement-start-transaction.md) +* [ROLLBACK](/sql-statements/sql-statement-rollback.md) +* [BEGIN](/sql-statements/sql-statement-begin.md) +* [事务的惰性检查](/transaction-overview.md#事务的惰性检查) diff --git a/reference/sql/statements/create-database.md b/sql-statements/sql-statement-create-database.md similarity index 85% rename from reference/sql/statements/create-database.md rename to sql-statements/sql-statement-create-database.md index bf2349a473e2..cff14889cbb9 100644 --- a/reference/sql/statements/create-database.md +++ b/sql-statements/sql-statement-create-database.md @@ -47,7 +47,7 @@ create_specification: 当创建已存在的数据库且不指定使用 `IF NOT EXISTS` 时会报错。 -`create_specification` 选项用于指定数据库具体的 `CHARACTER SET` 和 `COLLATE`。目前 TiDB 只支持部分的字符集和排序规则,请参照[字符集支持](/reference/sql/characterset-and-collation.md)。 +`create_specification` 选项用于指定数据库具体的 `CHARACTER SET` 和 `COLLATE`。目前 TiDB 只支持部分的字符集和排序规则,请参照[字符集支持](/character-set-and-collation.md)。 ## 示例 @@ -102,7 +102,7 @@ SHOW TABLES; ## 另请参阅 -* [USE](/reference/sql/statements/use.md) -* [ALTER DATABASE](/reference/sql/statements/alter-database.md) -* [DROP DATABASE](/reference/sql/statements/drop-database.md) -* [SHOW DATABASES](/reference/sql/statements/show-databases.md) +* [USE](/sql-statements/sql-statement-use.md) +* [ALTER DATABASE](/sql-statements/sql-statement-alter-database.md) +* [DROP DATABASE](/sql-statements/sql-statement-drop-database.md) +* [SHOW DATABASES](/sql-statements/sql-statement-show-databases.md) diff --git a/reference/sql/statements/create-index.md b/sql-statements/sql-statement-create-index.md similarity index 83% rename from reference/sql/statements/create-index.md rename to sql-statements/sql-statement-create-index.md index de24cf96250c..b53205709f1f 100644 --- a/reference/sql/statements/create-index.md +++ b/sql-statements/sql-statement-create-index.md @@ -158,7 +158,7 @@ CREATE INDEX idx ON t ((lower(name))); 维护表达式索引的代价比一般的索引更高,因为在插入或者更新每一行时都需要计算出表达式的值。因为表达式的值已经存储在索引中,所以当优化器选择表达式索引时,表达式的值就不需要再计算。因此,当查询速度比插入速度和更新速度更重要时,可以考虑建立表达式索引。 -表达式索引的语法和限制与 MySQL 相同,是通过将索引建立在隐藏的虚拟生成列 (generated virtual column) 上来实现的。因此所支持的表达式继承了虚拟生成列的所有[限制](/reference/sql/generated-columns.md#局限性)。目前,建立了索引的表达式只有在 `FIELD` 子句、`WHERE` 子句和 `ORDER BY` 子句中时,优化器才能使用表达式索引。后续将支持 `GROUP BY` 子句。 +表达式索引的语法和限制与 MySQL 相同,是通过将索引建立在隐藏的虚拟生成列 (generated virtual column) 上来实现的。因此所支持的表达式继承了虚拟生成列的所有[限制](/generated-columns.md#局限性)。目前,建立了索引的表达式只有在 `FIELD` 子句、`WHERE` 子句和 `ORDER BY` 子句中时,优化器才能使用表达式索引。后续将支持 `GROUP BY` 子句。 ## 不可见索引 @@ -169,24 +169,24 @@ CREATE TABLE t1 (c1 INT, c2 INT, UNIQUE(c2)); CREATE UNIQUE INDEX c1 ON t1 (c1) INVISIBLE; ``` -具体可以参考 [不可见索引的介绍](/reference/sql/statements/alter-index.md#不可见索引)。 +具体可以参考 [不可见索引的介绍](/sql-statements/sql-statement-alter-index.md#不可见索引)。 ## 相关 session 变量 -和 `CREATE INDEX` 语句相关的全局变量有 `tidb_ddl_reorg_worker_cnt`,`tidb_ddl_reorg_batch_size` 和 `tidb_ddl_reorg_priority`,具体可以参考 [TiDB 特定系统变量](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_ddl_reorg_worker_cnt)。 +和 `CREATE INDEX` 语句相关的全局变量有 `tidb_ddl_reorg_worker_cnt`,`tidb_ddl_reorg_batch_size` 和 `tidb_ddl_reorg_priority`,具体可以参考 [TiDB 特定系统变量](/tidb-specific-system-variables.md#tidb_ddl_reorg_worker_cnt)。 ## MySQL 兼容性 * 不支持 `FULLTEXT`,`HASH` 和 `SPATIAL` 索引。 * 不支持降序索引 (类似于 MySQL 5.7)。 -* 默认无法向表中添加 `PRIMARY KEY`,在开启 `alter-primary-key` 配置项后可支持此功能,详情参考:[alter-primary-key](/reference/configuration/tidb-server/configuration-file.md#alter-primary-key)。 +* 默认无法向表中添加 `PRIMARY KEY`,在开启 `alter-primary-key` 配置项后可支持此功能,详情参考:[alter-primary-key](/tidb-configuration-file.md#alter-primary-key)。 ## 另请参阅 -* [ADD INDEX](/reference/sql/statements/add-index.md) -* [DROP INDEX](/reference/sql/statements/drop-index.md) -* [RENAME INDEX](/reference/sql/statements/rename-index.md) -* [ALTER INDEX](/reference/sql/statements/alter-index.md) -* [ADD COLUMN](/reference/sql/statements/add-column.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [EXPLAIN](/reference/sql/statements/explain.md) +* [ADD INDEX](/sql-statements/sql-statement-add-index.md) +* [DROP INDEX](/sql-statements/sql-statement-drop-index.md) +* [RENAME INDEX](/sql-statements/sql-statement-rename-index.md) +* [ALTER INDEX](/sql-statements/sql-statement-alter-index.md) +* [ADD COLUMN](/sql-statements/sql-statement-add-column.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [EXPLAIN](/sql-statements/sql-statement-explain.md) diff --git a/reference/sql/statements/create-sequence.md b/sql-statements/sql-statement-create-sequence.md similarity index 98% rename from reference/sql/statements/create-sequence.md rename to sql-statements/sql-statement-create-sequence.md index 1019a07c7251..596c24214c39 100644 --- a/reference/sql/statements/create-sequence.md +++ b/sql-statements/sql-statement-create-sequence.md @@ -318,5 +318,5 @@ select setval(seq, 6) // 设置序列的当前值为 6。 ## 另请参阅 -* [DROP SEQUENCE](/reference/sql/statements/drop-sequence.md) -* [SHOW CREATE SEQUENCE](/reference/sql/statements/show-create-sequence.md) +* [DROP SEQUENCE](/sql-statements/sql-statement-drop-sequence.md) +* [SHOW CREATE SEQUENCE](/sql-statements/sql-statement-show-create-sequence.md) diff --git a/reference/sql/statements/create-table-like.md b/sql-statements/sql-statement-create-table-like.md similarity index 90% rename from reference/sql/statements/create-table-like.md rename to sql-statements/sql-statement-create-table-like.md index 0adaa2eab4a8..e9d9084ce1e6 100644 --- a/reference/sql/statements/create-table-like.md +++ b/sql-statements/sql-statement-create-table-like.md @@ -90,5 +90,5 @@ Empty set (0.00 sec) ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) diff --git a/reference/sql/statements/create-table.md b/sql-statements/sql-statement-create-table.md similarity index 93% rename from reference/sql/statements/create-table.md rename to sql-statements/sql-statement-create-table.md index 719a6b7fc6e8..22efc08ff5fe 100644 --- a/reference/sql/statements/create-table.md +++ b/sql-statements/sql-statement-create-table.md @@ -151,7 +151,7 @@ data_type: | JSON ``` -`data_type` 请参考[数据类型](/reference/sql/data-types/overview.md)章节。 +`data_type` 请参考[数据类型](/data-type-overview.md)章节。 ```sql index_col_name: @@ -212,7 +212,7 @@ table_option: | STATS_PERSISTENT [=] {DEFAULT|0|1} ``` -`table_option` 目前支持的只有 `AUTO_INCREMENT`、`SHARD_ROW_ID_BITS`(详情介绍请参考 [TiDB 专用系统变量和语法](/reference/configuration/tidb-server/tidb-specific-variables.md#shard_row_id_bits))、`PRE_SPLIT_REGIONS`、`CHARACTER SET`、`COLLATE` 和 `COMMENT`,其它只是语法上支持。具体内容参考下表,各个子句之间用逗号隔开。 +`table_option` 目前支持的只有 `AUTO_INCREMENT`、`SHARD_ROW_ID_BITS`(详情介绍请参考 [TiDB 专用系统变量和语法](/tidb-specific-system-variables.md#shard_row_id_bits))、`PRE_SPLIT_REGIONS`、`CHARACTER SET`、`COLLATE` 和 `COMMENT`,其它只是语法上支持。具体内容参考下表,各个子句之间用逗号隔开。 | 参数 |含义 |举例 | |----------------|--------------------------------------|----------------------------| @@ -300,6 +300,6 @@ SELECT * FROM t1; ## 另请参阅 -* [DROP TABLE](/reference/sql/statements/drop-table.md) -* [CREATE TABLE LIKE](/reference/sql/statements/create-table-like.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) +* [CREATE TABLE LIKE](/sql-statements/sql-statement-create-table-like.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) diff --git a/reference/sql/statements/create-user.md b/sql-statements/sql-statement-create-user.md similarity index 80% rename from reference/sql/statements/create-user.md rename to sql-statements/sql-statement-create-user.md index 78bad4644e6b..3c9973d73745 100644 --- a/reference/sql/statements/create-user.md +++ b/sql-statements/sql-statement-create-user.md @@ -62,8 +62,8 @@ Query OK, 1 row affected (0.02 sec) ## 另请参阅 -* [Security Compatibility with MySQL](/reference/security/compatibility.md) -* [DROP USER](/reference/sql/statements/drop-user.md) -* [SHOW CREATE USER](/reference/sql/statements/show-create-user.md) -* [ALTER USER](/reference/sql/statements/alter-user.md) -* [Privilege Management](/reference/security/privilege-system.md) +* [Security Compatibility with MySQL](/security-compatibility-with-mysql.md) +* [DROP USER](/sql-statements/sql-statement-drop-user.md) +* [SHOW CREATE USER](/sql-statements/sql-statement-show-create-user.md) +* [ALTER USER](/sql-statements/sql-statement-alter-user.md) +* [Privilege Management](/privilege-management.md) diff --git a/reference/sql/statements/create-view.md b/sql-statements/sql-statement-create-view.md similarity index 92% rename from reference/sql/statements/create-view.md rename to sql-statements/sql-statement-create-view.md index 7f4bd23923ed..b262aeb87d18 100644 --- a/reference/sql/statements/create-view.md +++ b/sql-statements/sql-statement-create-view.md @@ -155,6 +155,6 @@ ERROR 1105 (HY000): insert into view v1 is not supported now. ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) -* [DROP TABLE](/reference/sql/statements/drop-table.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) diff --git a/reference/sql/statements/deallocate.md b/sql-statements/sql-statement-deallocate.md similarity index 90% rename from reference/sql/statements/deallocate.md rename to sql-statements/sql-statement-deallocate.md index 41475d5f610a..ac8734195595 100644 --- a/reference/sql/statements/deallocate.md +++ b/sql-statements/sql-statement-deallocate.md @@ -75,5 +75,5 @@ Query OK, 0 rows affected (0.00 sec) ## 另请参阅 -* [PREPARE](/reference/sql/statements/prepare.md) -* [EXECUTE](/reference/sql/statements/execute.md) +* [PREPARE](/sql-statements/sql-statement-prepare.md) +* [EXECUTE](/sql-statements/sql-statement-execute.md) diff --git a/reference/sql/statements/delete.md b/sql-statements/sql-statement-delete.md similarity index 85% rename from reference/sql/statements/delete.md rename to sql-statements/sql-statement-delete.md index a9e855c9909e..ecdb30d427d4 100644 --- a/reference/sql/statements/delete.md +++ b/sql-statements/sql-statement-delete.md @@ -90,7 +90,7 @@ SELECT * FROM t1; ## 另请参阅 -* [INSERT](/reference/sql/statements/insert.md) -* [SELECT](/reference/sql/statements/select.md) -* [UPDATE](/reference/sql/statements/update.md) -* [REPLACE](/reference/sql/statements/replace.md) +* [INSERT](/sql-statements/sql-statement-insert.md) +* [SELECT](/sql-statements/sql-statement-select.md) +* [UPDATE](/sql-statements/sql-statement-update.md) +* [REPLACE](/sql-statements/sql-statement-replace.md) diff --git a/sql-statements/sql-statement-desc.md b/sql-statements/sql-statement-desc.md new file mode 100644 index 000000000000..d21d4cea4214 --- /dev/null +++ b/sql-statements/sql-statement-desc.md @@ -0,0 +1,9 @@ +--- +title: DESC +summary: TiDB 数据库中 DESC 的使用概况。 +category: reference +--- + +# DESC + +`DESC` 语句是 [`EXPLAIN`](/sql-statements/sql-statement-explain.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/sql-statements/sql-statement-describe.md b/sql-statements/sql-statement-describe.md new file mode 100644 index 000000000000..f97cf049d764 --- /dev/null +++ b/sql-statements/sql-statement-describe.md @@ -0,0 +1,9 @@ +--- +title: DESCRIBE +summary: TiDB 数据库中 DESCRIBE 的使用概况。 +category: reference +--- + +# DESCRIBE + +`DESCRIBE` 语句为 [`EXPLAIN`](/sql-statements/sql-statement-explain.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/reference/sql/statements/do.md b/sql-statements/sql-statement-do.md similarity index 95% rename from reference/sql/statements/do.md rename to sql-statements/sql-statement-do.md index bc6b8b9d6d74..7d8e978075e3 100644 --- a/reference/sql/statements/do.md +++ b/sql-statements/sql-statement-do.md @@ -65,4 +65,4 @@ Query OK, 0 rows affected (2.50 sec) ## 另请参阅 -* [SELECT](/reference/sql/statements/select.md) +* [SELECT](/sql-statements/sql-statement-select.md) diff --git a/reference/sql/statements/drop-column.md b/sql-statements/sql-statement-drop-column.md similarity index 91% rename from reference/sql/statements/drop-column.md rename to sql-statements/sql-statement-drop-column.md index a004bfb2287f..6744ae5129c7 100644 --- a/reference/sql/statements/drop-column.md +++ b/sql-statements/sql-statement-drop-column.md @@ -132,6 +132,6 @@ SELECT * FROM t1; ## 另请参阅 -* [ADD COLUMN](/reference/sql/statements/add-column.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) +* [ADD COLUMN](/sql-statements/sql-statement-add-column.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) diff --git a/reference/sql/statements/drop-database.md b/sql-statements/sql-statement-drop-database.md similarity index 90% rename from reference/sql/statements/drop-database.md rename to sql-statements/sql-statement-drop-database.md index 64e1bb2e1dbd..067fd373dd8f 100644 --- a/reference/sql/statements/drop-database.md +++ b/sql-statements/sql-statement-drop-database.md @@ -79,5 +79,5 @@ SHOW DATABASES; ## 另请参阅 -* [CREATE DATABASE](/reference/sql/statements/create-database.md) -* [ALTER DATABASE](/reference/sql/statements/alter-database.md) +* [CREATE DATABASE](/sql-statements/sql-statement-create-database.md) +* [ALTER DATABASE](/sql-statements/sql-statement-alter-database.md) diff --git a/reference/sql/statements/drop-index.md b/sql-statements/sql-statement-drop-index.md similarity index 88% rename from reference/sql/statements/drop-index.md rename to sql-statements/sql-statement-drop-index.md index 0839351af8ce..8033ef99b178 100644 --- a/reference/sql/statements/drop-index.md +++ b/sql-statements/sql-statement-drop-index.md @@ -104,12 +104,12 @@ Query OK, 0 rows affected (0.30 sec) ## MySQL 兼容性 -* 默认不支持删除 `PRIMARY KEY`,在开启 `alter-primary-key` 配置项后可支持此功能,详情参考:[alter-primary-key](/reference/configuration/tidb-server/configuration-file.md#alter-primary-key)。 +* 默认不支持删除 `PRIMARY KEY`,在开启 `alter-primary-key` 配置项后可支持此功能,详情参考:[alter-primary-key](/tidb-configuration-file.md#alter-primary-key)。 ## 另请参阅 -* [SHOW INDEX](/reference/sql/statements/show-index.md) -* [CREATE INDEX](/reference/sql/statements/create-index.md) -* [ADD INDEX](/reference/sql/statements/add-index.md) -* [RENAME INDEX](/reference/sql/statements/rename-index.md) -* [ALTER INDEX](/reference/sql/statements/alter-index.md) +* [SHOW INDEX](/sql-statements/sql-statement-show-index.md) +* [CREATE INDEX](/sql-statements/sql-statement-create-index.md) +* [ADD INDEX](/sql-statements/sql-statement-add-index.md) +* [RENAME INDEX](/sql-statements/sql-statement-rename-index.md) +* [ALTER INDEX](/sql-statements/sql-statement-alter-index.md) diff --git a/reference/sql/statements/drop-sequence.md b/sql-statements/sql-statement-drop-sequence.md similarity index 85% rename from reference/sql/statements/drop-sequence.md rename to sql-statements/sql-statement-drop-sequence.md index d7f29b5f576f..7ecc86b29aa3 100644 --- a/reference/sql/statements/drop-sequence.md +++ b/sql-statements/sql-statement-drop-sequence.md @@ -54,5 +54,5 @@ MySQL 暂无序列选项。TiDB 序列借鉴自 MariaDB。`SETVAL` 函数的步 ## 另请参阅 -* [CREATE SEQUENCE](/reference/sql/statements/create-sequence.md) -* [SHOW CREATE SEQUENCE](/reference/sql/statements/show-create-sequence.md) +* [CREATE SEQUENCE](/sql-statements/sql-statement-create-sequence.md) +* [SHOW CREATE SEQUENCE](/sql-statements/sql-statement-show-create-sequence.md) diff --git a/reference/sql/statements/drop-table.md b/sql-statements/sql-statement-drop-table.md similarity index 84% rename from reference/sql/statements/drop-table.md rename to sql-statements/sql-statement-drop-table.md index e7378f5d1c22..d3c188b61cc2 100644 --- a/reference/sql/statements/drop-table.md +++ b/sql-statements/sql-statement-drop-table.md @@ -92,7 +92,7 @@ Query OK, 0 rows affected (0.23 sec) ## 另请参阅 -* [DROP VIEW](/reference/sql/statements/drop-view.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) -* [SHOW TABLES](/reference/sql/statements/show-tables.md) +* [DROP VIEW](/sql-statements/sql-statement-drop-view.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) +* [SHOW TABLES](/sql-statements/sql-statement-show-tables.md) diff --git a/reference/sql/statements/drop-user.md b/sql-statements/sql-statement-drop-user.md similarity index 89% rename from reference/sql/statements/drop-user.md rename to sql-statements/sql-statement-drop-user.md index 074e47e5138c..3da30008605c 100644 --- a/reference/sql/statements/drop-user.md +++ b/sql-statements/sql-statement-drop-user.md @@ -127,7 +127,7 @@ ERROR 1141 (42000): There is no such grant defined for user 'newuser' on host '% ## 另请参阅 -* [CREATE USER](/reference/sql/statements/create-user.md) -* [ALTER USER](/reference/sql/statements/alter-user.md) -* [SHOW CREATE USER](/reference/sql/statements/show-create-user.md) -* [Privilege Management](/reference/security/privilege-system.md) +* [CREATE USER](/sql-statements/sql-statement-create-user.md) +* [ALTER USER](/sql-statements/sql-statement-alter-user.md) +* [SHOW CREATE USER](/sql-statements/sql-statement-show-create-user.md) +* [Privilege Management](/privilege-management.md) diff --git a/reference/sql/statements/drop-view.md b/sql-statements/sql-statement-drop-view.md similarity index 93% rename from reference/sql/statements/drop-view.md rename to sql-statements/sql-statement-drop-view.md index 2d4a3da6a2db..af0c60f7ebde 100644 --- a/reference/sql/statements/drop-view.md +++ b/sql-statements/sql-statement-drop-view.md @@ -126,5 +126,5 @@ SELECT * FROM t1; ## See also -* [DROP TABLE](/reference/sql/statements/drop-table.md) -* [CREATE VIEW](/reference/sql/statements/create-view.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) +* [CREATE VIEW](/sql-statements/sql-statement-create-view.md) diff --git a/reference/sql/statements/execute.md b/sql-statements/sql-statement-execute.md similarity index 89% rename from reference/sql/statements/execute.md rename to sql-statements/sql-statement-execute.md index 40f57d00a350..5f6bf4bd23ee 100644 --- a/reference/sql/statements/execute.md +++ b/sql-statements/sql-statement-execute.md @@ -71,5 +71,5 @@ Query OK, 0 rows affected (0.00 sec) ## 另请参阅 -* [PREPARE](/reference/sql/statements/prepare.md) -* [DEALLOCATE](/reference/sql/statements/deallocate.md) +* [PREPARE](/sql-statements/sql-statement-prepare.md) +* [DEALLOCATE](/sql-statements/sql-statement-deallocate.md) diff --git a/reference/sql/statements/explain-analyze.md b/sql-statements/sql-statement-explain-analyze.md similarity index 93% rename from reference/sql/statements/explain-analyze.md rename to sql-statements/sql-statement-explain-analyze.md index 333c5033ecc9..074046e0967a 100644 --- a/reference/sql/statements/explain-analyze.md +++ b/sql-statements/sql-statement-explain-analyze.md @@ -93,7 +93,7 @@ EXPLAIN ANALYZE SELECT * FROM t1; ## 另请参阅 -* [Understanding the Query Execution Plan](/reference/performance/understanding-the-query-execution-plan.md) -* [EXPLAIN](/reference/sql/statements/explain.md) -* [ANALYZE TABLE](/reference/sql/statements/analyze-table.md) -* [TRACE](/reference/sql/statements/trace.md) +* [Understanding the Query Execution Plan](/query-execution-plan.md) +* [EXPLAIN](/sql-statements/sql-statement-explain.md) +* [ANALYZE TABLE](/sql-statements/sql-statement-analyze-table.md) +* [TRACE](/sql-statements/sql-statement-trace.md) diff --git a/reference/sql/statements/explain.md b/sql-statements/sql-statement-explain.md similarity index 97% rename from reference/sql/statements/explain.md rename to sql-statements/sql-statement-explain.md index fb6266d73ee3..939a7b96ac60 100644 --- a/reference/sql/statements/explain.md +++ b/sql-statements/sql-statement-explain.md @@ -8,7 +8,7 @@ category: reference `EXPLAIN` 语句仅用于显示查询的执行计划,而不执行查询。`EXPLAIN ANALYZE` 可执行查询,补充 `EXPLAIN` 语句。如果 `EXPLAIN` 的输出与预期结果不匹配,可考虑在查询的每个表上执行 `ANALYZE TABLE`。 -语句 `DESC` 和 `DESCRIBE` 是 `EXPLAIN` 的别名。`EXPLAIN ` 的替代用法记录在 [`SHOW [FULL] COLUMNS FROM`](/reference/sql/statements/show-columns-from.md) 下。 +语句 `DESC` 和 `DESCRIBE` 是 `EXPLAIN` 的别名。`EXPLAIN ` 的替代用法记录在 [`SHOW [FULL] COLUMNS FROM`](/sql-statements/sql-statement-show-columns-from.md) 下。 TiDB 支持 `EXPLAIN [options] FOR CONNECTION connection_id`,但与 MySQL 的 `EXPLAIN FOR` 有一些区别,请参见 [`EXPLAIN FOR CONNECTION`](#explain-for-connection)。 @@ -248,7 +248,7 @@ The `xx.dot` is the result returned by the above statement. ## 另请参阅 -* [Understanding the Query Execution Plan](/reference/performance/understanding-the-query-execution-plan.md) -* [EXPLAIN ANALYZE](/reference/sql/statements/explain-analyze.md) -* [ANALYZE TABLE](/reference/sql/statements/analyze-table.md) -* [TRACE](/reference/sql/statements/trace.md) +* [Understanding the Query Execution Plan](/query-execution-plan.md) +* [EXPLAIN ANALYZE](/sql-statements/sql-statement-explain-analyze.md) +* [ANALYZE TABLE](/sql-statements/sql-statement-analyze-table.md) +* [TRACE](/sql-statements/sql-statement-trace.md) diff --git a/reference/sql/statements/flashback-table.md b/sql-statements/sql-statement-flashback-table.md similarity index 96% rename from reference/sql/statements/flashback-table.md rename to sql-statements/sql-statement-flashback-table.md index a7c25f742285..b0ef4e490f45 100644 --- a/reference/sql/statements/flashback-table.md +++ b/sql-statements/sql-statement-flashback-table.md @@ -66,7 +66,7 @@ FLASHBACK TABLE table_name [TO other_table_name] TiDB 在删除表时,实际上只删除了表的元信息,并将需要删除的表数据(行数据和索引数据)写一条数据到 `mysql.gc_delete_range` 表。TiDB 后台的 GC Worker 会定期从 `mysql.gc_delete_range` 表中取出超过 GC lifetime 相关范围的 key 进行删除。 -所以,`FLASHBACK TABLE` 只需要在 GC Worker 还没删除表数据前,恢复表的元信息并删除 `mysql.gc_delete_range` 表中相应的行记录即可。恢复表的元信息可以用 TiDB 的快照读实现。具体的快照读内容可以参考[读取历史数据](/how-to/get-started/read-historical-data.md)文档。下面是 `FLASHBACK TABLE t TO t1` 的工作流程: +所以,`FLASHBACK TABLE` 只需要在 GC Worker 还没删除表数据前,恢复表的元信息并删除 `mysql.gc_delete_range` 表中相应的行记录即可。恢复表的元信息可以用 TiDB 的快照读实现。具体的快照读内容可以参考[读取历史数据](/read-historical-data.md)文档。下面是 `FLASHBACK TABLE t TO t1` 的工作流程: 1. 从 DDL History job 中查找 `drop table` 或者 `truncate table` 类型的操作,且操作的表名是 `t` 的第一个 DDL job,若没找到,则返回错误。 2. 检查 DDL job 的开始时间,是否在 `tikv_gc_safe_point` 之前。如果是`tikv_gc_safe_point` 之前,说明被 `DROP` 或 `TRUNCATE` 删除的表已经被 GC 清理掉,返回错误。 diff --git a/reference/sql/statements/flush-privileges.md b/sql-statements/sql-statement-flush-privileges.md similarity index 82% rename from reference/sql/statements/flush-privileges.md rename to sql-statements/sql-statement-flush-privileges.md index 4a8d369f5aef..b86402bece62 100644 --- a/reference/sql/statements/flush-privileges.md +++ b/sql-statements/sql-statement-flush-privileges.md @@ -40,6 +40,6 @@ Query OK, 0 rows affected (0.01 sec) ## 另请参阅 -* [GRANT](/reference/sql/statements/grant-privileges.md) -* [REVOKE ](/reference/sql/statements/revoke-privileges.md) -* [Privilege Management](/reference/security/privilege-system.md) +* [GRANT](/sql-statements/sql-statement-grant-privileges.md) +* [REVOKE ](/sql-statements/sql-statement-revoke-privileges.md) +* [Privilege Management](/privilege-management.md) diff --git a/reference/sql/statements/flush-status.md b/sql-statements/sql-statement-flush-status.md similarity index 97% rename from reference/sql/statements/flush-status.md rename to sql-statements/sql-statement-flush-status.md index 1ae3472a1a70..dc62bf75cb3a 100644 --- a/reference/sql/statements/flush-status.md +++ b/sql-statements/sql-statement-flush-status.md @@ -100,4 +100,4 @@ show status; ## 另请参阅 -* [SHOW \[GLOBAL|SESSION\] STATUS](/reference/sql/statements/show-status.md) +* [SHOW \[GLOBAL|SESSION\] STATUS](/sql-statements/sql-statement-show-status.md) diff --git a/reference/sql/statements/flush-tables.md b/sql-statements/sql-statement-flush-tables.md similarity index 94% rename from reference/sql/statements/flush-tables.md rename to sql-statements/sql-statement-flush-tables.md index 2e413879c544..8f7ee867cfa2 100644 --- a/reference/sql/statements/flush-tables.md +++ b/sql-statements/sql-statement-flush-tables.md @@ -63,4 +63,4 @@ ERROR 1105 (HY000): FLUSH TABLES WITH READ LOCK is not supported. Please use @@ ## 另请参阅 -* [Read historical data](/how-to/get-started/read-historical-data.md) +* [Read historical data](/read-historical-data.md) diff --git a/reference/sql/statements/grant-privileges.md b/sql-statements/sql-statement-grant-privileges.md similarity index 90% rename from reference/sql/statements/grant-privileges.md rename to sql-statements/sql-statement-grant-privileges.md index df9e988ed4cf..9fddfa603960 100644 --- a/reference/sql/statements/grant-privileges.md +++ b/sql-statements/sql-statement-grant-privileges.md @@ -84,6 +84,6 @@ SHOW GRANTS FOR 'newuser'; ## 另请参阅 -* [REVOKE ](/reference/sql/statements/revoke-privileges.md) -* [SHOW GRANTS](/reference/sql/statements/show-grants.md) -* [Privilege Management](/reference/security/privilege-system.md) +* [REVOKE ](/sql-statements/sql-statement-revoke-privileges.md) +* [SHOW GRANTS](/sql-statements/sql-statement-show-grants.md) +* [Privilege Management](/privilege-management.md) diff --git a/reference/sql/statements/insert.md b/sql-statements/sql-statement-insert.md similarity index 90% rename from reference/sql/statements/insert.md rename to sql-statements/sql-statement-insert.md index 8ec326e1ebef..377abbe13196 100644 --- a/reference/sql/statements/insert.md +++ b/sql-statements/sql-statement-insert.md @@ -155,7 +155,7 @@ SELECT * FROM t2; ## 另请参阅 -* [DELETE](/reference/sql/statements/delete.md) -* [SELECT](/reference/sql/statements/select.md) -* [UPDATE](/reference/sql/statements/update.md) -* [REPLACE](/reference/sql/statements/replace.md) +* [DELETE](/sql-statements/sql-statement-delete.md) +* [SELECT](/sql-statements/sql-statement-select.md) +* [UPDATE](/sql-statements/sql-statement-update.md) +* [REPLACE](/sql-statements/sql-statement-replace.md) diff --git a/reference/sql/statements/kill.md b/sql-statements/sql-statement-kill.md similarity index 86% rename from reference/sql/statements/kill.md rename to sql-statements/sql-statement-kill.md index 2abe5bdba7d8..f50b9de751d5 100644 --- a/reference/sql/statements/kill.md +++ b/sql-statements/sql-statement-kill.md @@ -46,8 +46,8 @@ Query OK, 0 rows affected (0.00 sec) ## MySQL 兼容性 -* `KILL TIDB` 语句是 TiDB 的扩展语法。如果正尝试终止的会话位于同一个 TiDB 服务器上,可在配置文件里设置 [`compatible-kill-query = true`](/reference/configuration/tidb-server/configuration-file.md#compatible-kill-query)。 +* `KILL TIDB` 语句是 TiDB 的扩展语法。如果正尝试终止的会话位于同一个 TiDB 服务器上,可在配置文件里设置 [`compatible-kill-query = true`](/tidb-configuration-file.md#compatible-kill-query)。 ## 另请参阅 -* [SHOW \[FULL\] PROCESSLIST](/reference/sql/statements/show-processlist.md) +* [SHOW \[FULL\] PROCESSLIST](/sql-statements/sql-statement-show-processlist.md) diff --git a/reference/sql/statements/load-data.md b/sql-statements/sql-statement-load-data.md similarity index 93% rename from reference/sql/statements/load-data.md rename to sql-statements/sql-statement-load-data.md index 15ca40adeb0e..fbfbe90b8954 100644 --- a/reference/sql/statements/load-data.md +++ b/sql-statements/sql-statement-load-data.md @@ -68,7 +68,7 @@ Query OK, 0 rows affected (0.14 sec) 如果此时遇到 `ERROR 1148 (42000): the used command is not allowed with this TiDB version` 报错信息。可以参考以下文档解决: -[ERROR 1148 (42000): the used command is not allowed with this TiDB version 问题的处理方法](/faq/tidb.md#923-error-1148-42000-the-used-command-is-not-allowed-with-this-tidb-version-问题的处理方法) +[ERROR 1148 (42000): the used command is not allowed with this TiDB version 问题的处理方法](/faq/tidb-faq.md#923-error-1148-42000-the-used-command-is-not-allowed-with-this-tidb-version-问题的处理方法) {{< copyable "sql" >}} @@ -101,5 +101,5 @@ LOAD DATA LOCAL INFILE '/mnt/evo970/data-sets/bikeshare-data/2017Q4-capitalbikes ## 另请参阅 -* [INSERT](/reference/sql/statements/insert.md) -* [乐观事务模型](/reference/transactions/transaction-optimistic.md) +* [INSERT](/sql-statements/sql-statement-insert.md) +* [乐观事务模型](/optimistic-transaction.md) diff --git a/reference/sql/statements/modify-column.md b/sql-statements/sql-statement-modify-column.md similarity index 84% rename from reference/sql/statements/modify-column.md rename to sql-statements/sql-statement-modify-column.md index 085ba43f89bf..966ff951b8fa 100644 --- a/reference/sql/statements/modify-column.md +++ b/sql-statements/sql-statement-modify-column.md @@ -6,7 +6,7 @@ category: reference # MODIFY COLUMN -`ALTER TABLE .. MODIFY COLUMN` 语句用于修改已有表上的列,包括列的数据类型和属性。若要同时重命名,可改用 [`CHANGE COLUMN`](/reference/sql/statements/change-column.md) 语句。 +`ALTER TABLE .. MODIFY COLUMN` 语句用于修改已有表上的列,包括列的数据类型和属性。若要同时重命名,可改用 [`CHANGE COLUMN`](/sql-statements/sql-statement-change-column.md) 语句。 ## 语法图 @@ -118,8 +118,8 @@ ERROR 1105 (HY000): can't run multi schema change ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) -* [ADD COLUMN](/reference/sql/statements/add-column.md) -* [DROP COLUMN](/reference/sql/statements/drop-column.md) -* [CHANGE COLUMN](/reference/sql/statements/change-column.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) +* [ADD COLUMN](/sql-statements/sql-statement-add-column.md) +* [DROP COLUMN](/sql-statements/sql-statement-drop-column.md) +* [CHANGE COLUMN](/sql-statements/sql-statement-change-column.md) diff --git a/reference/sql/statements/prepare.md b/sql-statements/sql-statement-prepare.md similarity index 88% rename from reference/sql/statements/prepare.md rename to sql-statements/sql-statement-prepare.md index 7dd48d99b0a4..4108272c87d8 100644 --- a/reference/sql/statements/prepare.md +++ b/sql-statements/sql-statement-prepare.md @@ -67,5 +67,5 @@ Query OK, 0 rows affected (0.00 sec) ## 另请参阅 -* [EXECUTE](/reference/sql/statements/execute.md) -* [DEALLOCATE](/reference/sql/statements/deallocate.md) +* [EXECUTE](/sql-statements/sql-statement-execute.md) +* [DEALLOCATE](/sql-statements/sql-statement-deallocate.md) diff --git a/reference/sql/statements/recover-table.md b/sql-statements/sql-statement-recover-table.md similarity index 94% rename from reference/sql/statements/recover-table.md rename to sql-statements/sql-statement-recover-table.md index af2b60e5326d..cf66e69d939a 100644 --- a/reference/sql/statements/recover-table.md +++ b/sql-statements/sql-statement-recover-table.md @@ -43,7 +43,7 @@ TiDB Binlog 在 3.0.1 支持 `RECOVER TABLE` 后,可在下面的情况下使 * 上下游数据库的同步延迟。类似错误:`snapshot is older than GC safe point 2019-07-10 13:45:57 +0800 CST`。 -只能通过重新[全量导入被删除的表](/reference/tools/user-guide.md#tidb-集群数据的全量备份及恢复-1)来恢复 TiDB Binlog 的数据同步。 +只能通过重新[全量导入被删除的表](/ecosystem-tool-user-guide.md#tidb-集群数据的全量备份及恢复-1)来恢复 TiDB Binlog 的数据同步。 ## 示例 @@ -104,6 +104,6 @@ TiDB Binlog 在 3.0.1 支持 `RECOVER TABLE` 后,可在下面的情况下使 TiDB 在删除表时,实际上只删除了表的元信息,并将需要删除的表数据(行数据和索引数据)写一条数据到 `mysql.gc_delete_range` 表。TiDB 后台的 GC Worker 会定期从 `mysql.gc_delete_range` 表中取出超过 GC lifetime 相关范围的 key 进行删除。 -所以,RECOVER TABLE 只需要在 GC Worker 还没删除表数据前,恢复表的元信息并删除 `mysql.gc_delete_range` 表中相应的行记录就可以了。恢复表的元信息可以用 TiDB 的快照读实现。具体的快照读内容可以参考[读取历史数据](/how-to/get-started/read-historical-data.md)文档。 +所以,RECOVER TABLE 只需要在 GC Worker 还没删除表数据前,恢复表的元信息并删除 `mysql.gc_delete_range` 表中相应的行记录就可以了。恢复表的元信息可以用 TiDB 的快照读实现。具体的快照读内容可以参考[读取历史数据](/read-historical-data.md)文档。 TiDB 中表的恢复是通过快照读获取表的元信息后,再走一次类似于 `CREATE TABLE` 的建表流程,所以 `RECOVER TABLE` 实际上也是一种 DDL。 diff --git a/reference/sql/statements/rename-index.md b/sql-statements/sql-statement-rename-index.md similarity index 83% rename from reference/sql/statements/rename-index.md rename to sql-statements/sql-statement-rename-index.md index c97ee4aeca94..42d0a4a09bd4 100644 --- a/reference/sql/statements/rename-index.md +++ b/sql-statements/sql-statement-rename-index.md @@ -82,8 +82,8 @@ Create Table: CREATE TABLE `t1` ( ## 另请参阅 -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) -* [CREATE INDEX](/reference/sql/statements/create-index.md) -* [DROP INDEX](/reference/sql/statements/drop-index.md) -* [SHOW INDEX](/reference/sql/statements/show-index.md) -* [ALTER INDEX](/reference/sql/statements/alter-index.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) +* [CREATE INDEX](/sql-statements/sql-statement-create-index.md) +* [DROP INDEX](/sql-statements/sql-statement-drop-index.md) +* [SHOW INDEX](/sql-statements/sql-statement-show-index.md) +* [ALTER INDEX](/sql-statements/sql-statement-alter-index.md) diff --git a/reference/sql/statements/rename-table.md b/sql-statements/sql-statement-rename-table.md similarity index 85% rename from reference/sql/statements/rename-table.md rename to sql-statements/sql-statement-rename-table.md index 551cabd058da..7d557c798d7f 100644 --- a/reference/sql/statements/rename-table.md +++ b/sql-statements/sql-statement-rename-table.md @@ -76,6 +76,6 @@ SHOW TABLES; ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [SHOW TABLES](/reference/sql/statements/show-tables.md) -* [ALTER TABLE](/reference/sql/statements/alter-table.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [SHOW TABLES](/sql-statements/sql-statement-show-tables.md) +* [ALTER TABLE](/sql-statements/sql-statement-alter-table.md) diff --git a/reference/sql/statements/replace.md b/sql-statements/sql-statement-replace.md similarity index 88% rename from reference/sql/statements/replace.md rename to sql-statements/sql-statement-replace.md index 2d707eb581f5..0f0e181c02e8 100644 --- a/reference/sql/statements/replace.md +++ b/sql-statements/sql-statement-replace.md @@ -103,7 +103,7 @@ SELECT * FROM t1; ## 另请参阅 -* [DELETE](/reference/sql/statements/delete.md) -* [INSERT](/reference/sql/statements/insert.md) -* [SELECT](/reference/sql/statements/select.md) -* [UPDATE](/reference/sql/statements/update.md) +* [DELETE](/sql-statements/sql-statement-delete.md) +* [INSERT](/sql-statements/sql-statement-insert.md) +* [SELECT](/sql-statements/sql-statement-select.md) +* [UPDATE](/sql-statements/sql-statement-update.md) diff --git a/reference/sql/statements/revoke-privileges.md b/sql-statements/sql-statement-revoke-privileges.md similarity index 91% rename from reference/sql/statements/revoke-privileges.md rename to sql-statements/sql-statement-revoke-privileges.md index b7e54cb4ca15..2ca0dce8a831 100644 --- a/reference/sql/statements/revoke-privileges.md +++ b/sql-statements/sql-statement-revoke-privileges.md @@ -127,6 +127,6 @@ ERROR 1141 (42000): There is no such grant defined for user 'newuser' on host '% ## 另请参阅 -* [GRANT ](/reference/sql/statements/grant-privileges.md) -* [SHOW GRANTS](/reference/sql/statements/show-grants.md) -* [Privilege Management](/reference/security/privilege-system.md) +* [GRANT ](/sql-statements/sql-statement-grant-privileges.md) +* [SHOW GRANTS](/sql-statements/sql-statement-show-grants.md) +* [Privilege Management](/privilege-management.md) diff --git a/reference/sql/statements/rollback.md b/sql-statements/sql-statement-rollback.md similarity index 84% rename from reference/sql/statements/rollback.md rename to sql-statements/sql-statement-rollback.md index 15bdad87872f..eade8d5a99f8 100644 --- a/reference/sql/statements/rollback.md +++ b/sql-statements/sql-statement-rollback.md @@ -72,6 +72,6 @@ Empty set (0.01 sec) ## 另请参阅 -* [COMMIT](/reference/sql/statements/commit.md) -* [BEGIN](/reference/sql/statements/begin.md) -* [START TRANSACTION](/reference/sql/statements/start-transaction.md) +* [COMMIT](/sql-statements/sql-statement-commit.md) +* [BEGIN](/sql-statements/sql-statement-begin.md) +* [START TRANSACTION](/sql-statements/sql-statement-start-transaction.md) diff --git a/reference/sql/statements/select.md b/sql-statements/sql-statement-select.md similarity index 79% rename from reference/sql/statements/select.md rename to sql-statements/sql-statement-select.md index 918208df023b..883e0cb39160 100644 --- a/reference/sql/statements/select.md +++ b/sql-statements/sql-statement-select.md @@ -74,7 +74,7 @@ category: reference |`HAVING where_condition` | Having 子句与 Where 子句作用类似,Having 子句可以让过滤 GroupBy 后的各种数据,Where 子句用于在聚合前过滤记录。| |`ORDER BY` | OrderBy 子句用于指定结果排序顺序,可以按照列、表达式或者是 `select_expr` 列表中某个位置的字段进行排序。| |`LIMIT` | Limit 子句用于限制结果条数。Limit 接受一个或两个数字参数,如果只有一个参数,那么表示返回数据的最大行数;如果是两个参数,那么第一个参数表示返回数据的第一行的偏移量(第一行数据的偏移量是 0),第二个参数指定返回数据的最大条目数。| -|`FOR UPDATE` | 对查询结果集所有行上锁(对于在查询条件内,但是不在结果集的行,将不会加锁,如事务启动后由其他事务写入的行),以监测其他事务对这些的并发修改。使用[乐观事务模型](/reference/transactions/transaction-optimistic.md)时,语句执行期间不会检测锁,因此,不会像 PostgreSQL 之类的数据库一样,在当前事务结束前阻止其他事务执行 `UPDATE`、`DELETE` 和 `SELECT FOR UPDATE`。在事务的提交阶段 `SELECT FOR UPDATE` 读到的行,也会进行两阶段提交,因此,它们也可以参与事务冲突检测。如发生写入冲突,那么包含 `SELECT FOR UPDATE` 语句的事务会提交失败。如果没有冲突,事务将成功提交,当提交结束时,这些被加锁的行,会产生一个新版本,可以让其他尚未提交的事务,在将来提交时发现写入冲突。若使用悲观事务,则行为与其他数据库基本相同,不一致之处参考[和 MySQL InnoDB 的差异](/reference/transactions/transaction-pessimistic.md#和-mysql-innodb-的差异)。 | +|`FOR UPDATE` | 对查询结果集所有行上锁(对于在查询条件内,但是不在结果集的行,将不会加锁,如事务启动后由其他事务写入的行),以监测其他事务对这些的并发修改。使用[乐观事务模型](/optimistic-transaction.md)时,语句执行期间不会检测锁,因此,不会像 PostgreSQL 之类的数据库一样,在当前事务结束前阻止其他事务执行 `UPDATE`、`DELETE` 和 `SELECT FOR UPDATE`。在事务的提交阶段 `SELECT FOR UPDATE` 读到的行,也会进行两阶段提交,因此,它们也可以参与事务冲突检测。如发生写入冲突,那么包含 `SELECT FOR UPDATE` 语句的事务会提交失败。如果没有冲突,事务将成功提交,当提交结束时,这些被加锁的行,会产生一个新版本,可以让其他尚未提交的事务,在将来提交时发现写入冲突。若使用悲观事务,则行为与其他数据库基本相同,不一致之处参考[和 MySQL InnoDB 的差异](/pessimistic-transaction.md#和-mysql-innodb-的差异)。 | |`LOCK IN SHARE MODE` | TiDB 出于兼容性解析这个语法,但是不做任何处理| ## 示例 @@ -125,7 +125,7 @@ SELECT * FROM t1; ## 另请参阅 -* [INSERT](/reference/sql/statements/insert.md) -* [DELETE](/reference/sql/statements/delete.md) -* [UPDATE](/reference/sql/statements/update.md) -* [REPLACE](/reference/sql/statements/replace.md) +* [INSERT](/sql-statements/sql-statement-insert.md) +* [DELETE](/sql-statements/sql-statement-delete.md) +* [UPDATE](/sql-statements/sql-statement-update.md) +* [REPLACE](/sql-statements/sql-statement-replace.md) diff --git a/reference/sql/statements/set-names.md b/sql-statements/sql-statement-set-names.md similarity index 95% rename from reference/sql/statements/set-names.md rename to sql-statements/sql-statement-set-names.md index 537eff757ebc..477b6b00df33 100644 --- a/reference/sql/statements/set-names.md +++ b/sql-statements/sql-statement-set-names.md @@ -108,6 +108,6 @@ SHOW VARIABLES LIKE 'character_set%'; ## 另请参阅 -* [SHOW \[GLOBAL|SESSION\] VARIABLES](/reference/sql/statements/show-variables.md) -* [SET ](/reference/sql/statements/set-variable.md) -* [Character Set Support](/reference/sql/characterset-and-collation.md) +* [SHOW \[GLOBAL|SESSION\] VARIABLES](/sql-statements/sql-statement-show-variables.md) +* [SET ](/sql-statements/sql-statement-set-variable.md) +* [Character Set Support](/character-set-and-collation.md) diff --git a/reference/sql/statements/set-password.md b/sql-statements/sql-statement-set-password.md similarity index 96% rename from reference/sql/statements/set-password.md rename to sql-statements/sql-statement-set-password.md index 2cddc02f96a5..0256feba1741 100644 --- a/reference/sql/statements/set-password.md +++ b/sql-statements/sql-statement-set-password.md @@ -106,5 +106,5 @@ SHOW CREATE USER newuser; ## 另请参阅 -* [CREATE USER](/reference/sql/statements/create-user.md) -* [Privilege Management](/reference/security/privilege-system.md) +* [CREATE USER](/sql-statements/sql-statement-create-user.md) +* [Privilege Management](/privilege-management.md) diff --git a/reference/sql/statements/set-transaction.md b/sql-statements/sql-statement-set-transaction.md similarity index 93% rename from reference/sql/statements/set-transaction.md rename to sql-statements/sql-statement-set-transaction.md index 8e701697a12c..8c163d07911c 100644 --- a/reference/sql/statements/set-transaction.md +++ b/sql-statements/sql-statement-set-transaction.md @@ -97,5 +97,5 @@ SHOW SESSION VARIABLES like 'transaction_isolation'; ## 另请参阅 -* [SET \[GLOBAL|SESSION\] ](/reference/sql/statements/set-variable.md) -* [Isolation Levels](/reference/transactions/transaction-isolation.md) +* [SET \[GLOBAL|SESSION\] ](/sql-statements/sql-statement-set-variable.md) +* [Isolation Levels](/transaction-isolation-levels.md) diff --git a/reference/sql/statements/set-variable.md b/sql-statements/sql-statement-set-variable.md similarity index 98% rename from reference/sql/statements/set-variable.md rename to sql-statements/sql-statement-set-variable.md index 159ed2ced2ac..f4960c58214d 100644 --- a/reference/sql/statements/set-variable.md +++ b/sql-statements/sql-statement-set-variable.md @@ -117,4 +117,4 @@ SHOW SESSION VARIABLES LIKE 'sql_mode'; ## 另请参阅 -* [SHOW \[GLOBAL|SESSION\] VARIABLES](/reference/sql/statements/show-variables.md) +* [SHOW \[GLOBAL|SESSION\] VARIABLES](/sql-statements/sql-statement-show-variables.md) diff --git a/reference/sql/statements/show-character-set.md b/sql-statements/sql-statement-show-character-set.md similarity index 94% rename from reference/sql/statements/show-character-set.md rename to sql-statements/sql-statement-show-character-set.md index d9eb74acc69f..a4ca6eb6cff3 100644 --- a/reference/sql/statements/show-character-set.md +++ b/sql-statements/sql-statement-show-character-set.md @@ -49,4 +49,4 @@ SHOW CHARACTER SET; ## 另请参阅 -* [SHOW COLLATION](/reference/sql/statements/show-collation.md) +* [SHOW COLLATION](/sql-statements/sql-statement-show-collation.md) diff --git a/reference/sql/statements/show-collation.md b/sql-statements/sql-statement-show-collation.md similarity index 99% rename from reference/sql/statements/show-collation.md rename to sql-statements/sql-statement-show-collation.md index 59c93f2ab0e2..7ef006888767 100644 --- a/reference/sql/statements/show-collation.md +++ b/sql-statements/sql-statement-show-collation.md @@ -261,4 +261,4 @@ TiDB 不支持二进制以外的排序规则。`SHOW COLLATION` 语句仅用于 ## 另请参阅 -* [SHOW CHARACTER SET](/reference/sql/statements/show-character-set.md) +* [SHOW CHARACTER SET](/sql-statements/sql-statement-show-character-set.md) diff --git a/reference/sql/statements/show-columns-from.md b/sql-statements/sql-statement-show-columns-from.md similarity index 99% rename from reference/sql/statements/show-columns-from.md rename to sql-statements/sql-statement-show-columns-from.md index 861bd266ed27..f47cf8c03481 100644 --- a/reference/sql/statements/show-columns-from.md +++ b/sql-statements/sql-statement-show-columns-from.md @@ -175,4 +175,4 @@ show full columns from mysql.user; ## 另请参阅 -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) diff --git a/reference/sql/statements/show-create-sequence.md b/sql-statements/sql-statement-show-create-sequence.md similarity index 91% rename from reference/sql/statements/show-create-sequence.md rename to sql-statements/sql-statement-show-create-sequence.md index 0d610f29111d..305b4dec5a33 100644 --- a/reference/sql/statements/show-create-sequence.md +++ b/sql-statements/sql-statement-show-create-sequence.md @@ -51,5 +51,5 @@ MySQL 暂无序列选项。TiDB 序列借鉴自 MariaDB。`SETVAL` 函数的步 ## 另请参阅 -* [CREATE SEQUENCE](/reference/sql/statements/create-sequence.md) -* [DROP SEQUENCE](/reference/sql/statements/drop-sequence.md) +* [CREATE SEQUENCE](/sql-statements/sql-statement-create-sequence.md) +* [DROP SEQUENCE](/sql-statements/sql-statement-drop-sequence.md) diff --git a/reference/sql/statements/show-create-table.md b/sql-statements/sql-statement-show-create-table.md similarity index 83% rename from reference/sql/statements/show-create-table.md rename to sql-statements/sql-statement-show-create-table.md index 88c92ca79aea..97e7df1ef37d 100644 --- a/reference/sql/statements/show-create-table.md +++ b/sql-statements/sql-statement-show-create-table.md @@ -53,7 +53,7 @@ SHOW CREATE TABLE t1; ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [DROP TABLE](/reference/sql/statements/drop-table.md) -* [SHOW TABLES](/reference/sql/statements/show-tables.md) -* [SHOW COLUMNS FROM](/reference/sql/statements/show-columns-from.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) +* [SHOW TABLES](/sql-statements/sql-statement-show-tables.md) +* [SHOW COLUMNS FROM](/sql-statements/sql-statement-show-columns-from.md) diff --git a/reference/sql/statements/show-create-user.md b/sql-statements/sql-statement-show-create-user.md similarity index 90% rename from reference/sql/statements/show-create-user.md rename to sql-statements/sql-statement-show-create-user.md index 373b70c3ce79..4a3a308b6095 100644 --- a/reference/sql/statements/show-create-user.md +++ b/sql-statements/sql-statement-show-create-user.md @@ -48,6 +48,6 @@ mysql> SHOW GRANTS FOR 'root'; ## 另请参阅 -* [CREATE USER](/reference/sql/statements/create-user.md) -* [SHOW GRANTS](/reference/sql/statements/show-grants.md) -* [DROP USER](/reference/sql/statements/drop-user.md) +* [CREATE USER](/sql-statements/sql-statement-create-user.md) +* [SHOW GRANTS](/sql-statements/sql-statement-show-grants.md) +* [DROP USER](/sql-statements/sql-statement-drop-user.md) diff --git a/reference/sql/statements/show-databases.md b/sql-statements/sql-statement-show-databases.md similarity index 87% rename from reference/sql/statements/show-databases.md rename to sql-statements/sql-statement-show-databases.md index 5c807ccea82b..638baace2687 100644 --- a/reference/sql/statements/show-databases.md +++ b/sql-statements/sql-statement-show-databases.md @@ -75,6 +75,6 @@ SHOW DATABASES; ## 另请参阅 -* [SHOW SCHEMAS](/reference/sql/statements/show-schemas.md) -* [DROP DATABASE](/reference/sql/statements/drop-database.md) -* [CREATE DATABASE](/reference/sql/statements/create-database.md) +* [SHOW SCHEMAS](/sql-statements/sql-statement-show-schemas.md) +* [DROP DATABASE](/sql-statements/sql-statement-drop-database.md) +* [CREATE DATABASE](/sql-statements/sql-statement-create-database.md) diff --git a/reference/sql/statements/show-engines.md b/sql-statements/sql-statement-show-engines.md similarity index 100% rename from reference/sql/statements/show-engines.md rename to sql-statements/sql-statement-show-engines.md diff --git a/reference/sql/statements/show-errors.md b/sql-statements/sql-statement-show-errors.md similarity index 97% rename from reference/sql/statements/show-errors.md rename to sql-statements/sql-statement-show-errors.md index 929f36cff50a..9a344561eabc 100644 --- a/reference/sql/statements/show-errors.md +++ b/sql-statements/sql-statement-show-errors.md @@ -99,4 +99,4 @@ Empty set (0.00 sec) ## 另请参阅 -* [SHOW WARNINGS](/reference/sql/statements/show-warnings.md) +* [SHOW WARNINGS](/sql-statements/sql-statement-show-warnings.md) diff --git a/sql-statements/sql-statement-show-fields-from.md b/sql-statements/sql-statement-show-fields-from.md new file mode 100644 index 000000000000..4c73e9690540 --- /dev/null +++ b/sql-statements/sql-statement-show-fields-from.md @@ -0,0 +1,9 @@ +--- +title: SHOW [FULL] FIELDS FROM +summary: TiDB 数据库中 SHOW [FULL] FIELDS FROM 的使用概况。 +category: reference +--- + +# SHOW [FULL] FIELDS FROM + +`SHOW [FULL] FIELDS FROM` 是 [`SHOW [FULL] COLUMNS FROM`](/sql-statements/sql-statement-show-columns-from.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/reference/sql/statements/show-grants.md b/sql-statements/sql-statement-show-grants.md similarity index 92% rename from reference/sql/statements/show-grants.md rename to sql-statements/sql-statement-show-grants.md index c40c9d8b46f8..c77028517ebe 100644 --- a/reference/sql/statements/show-grants.md +++ b/sql-statements/sql-statement-show-grants.md @@ -87,5 +87,5 @@ SHOW GRANTS FOR u1; ## 另请参阅 -* [SHOW CREATE USER](/reference/sql/statements/show-create-user.md) -* [GRANT](/reference/sql/statements/grant-privileges.md) +* [SHOW CREATE USER](/sql-statements/sql-statement-show-create-user.md) +* [GRANT](/sql-statements/sql-statement-grant-privileges.md) diff --git a/sql-statements/sql-statement-show-index.md b/sql-statements/sql-statement-show-index.md new file mode 100644 index 000000000000..b46930780c61 --- /dev/null +++ b/sql-statements/sql-statement-show-index.md @@ -0,0 +1,9 @@ +--- +title: SHOW INDEX [FROM|IN] +summary: TiDB 数据库中 SHOW INDEX [FROM|IN] 的使用概况。 +category: reference +--- + +# SHOW INDEX [FROM|IN] + +`SHOW INDEX [FROM|IN]` 语句是 [`SHOW INDEXES [FROM|IN]`](/sql-statements/sql-statement-show-indexes.md) 的别名。包含该语句提供了 MySQL 兼容性。 diff --git a/reference/sql/statements/show-indexes.md b/sql-statements/sql-statement-show-indexes.md similarity index 95% rename from reference/sql/statements/show-indexes.md rename to sql-statements/sql-statement-show-indexes.md index dd458a82a78c..dde0e43d735c 100644 --- a/reference/sql/statements/show-indexes.md +++ b/sql-statements/sql-statement-show-indexes.md @@ -102,6 +102,6 @@ SHOW KEYS FROM t1; ## 另请参阅 -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) -* [DROP INDEX](/reference/sql/statements/drop-index.md) -* [CREATE INDEX](/reference/sql/statements/create-index.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) +* [DROP INDEX](/sql-statements/sql-statement-drop-index.md) +* [CREATE INDEX](/sql-statements/sql-statement-create-index.md) diff --git a/sql-statements/sql-statement-show-keys.md b/sql-statements/sql-statement-show-keys.md new file mode 100644 index 000000000000..2c449fc1d7e7 --- /dev/null +++ b/sql-statements/sql-statement-show-keys.md @@ -0,0 +1,9 @@ +--- +title: SHOW KEYS [FROM|IN] +summary: TiDB 数据库中 SHOW KEYS [FROM|IN] 的使用概况。 +category: reference +--- + +# SHOW KEYS [FROM|IN] + +`SHOW KEYS [FROM|IN]` 语句是 [`SHOW INDEXES [FROM|IN]`](/sql-statements/sql-statement-show-indexes.md) 语句的别名。包含该语句提供了 MySQL 兼容性。。 diff --git a/reference/sql/statements/show-privileges.md b/sql-statements/sql-statement-show-privileges.md similarity index 97% rename from reference/sql/statements/show-privileges.md rename to sql-statements/sql-statement-show-privileges.md index d5bb3ec16709..3d62350287d7 100644 --- a/reference/sql/statements/show-privileges.md +++ b/sql-statements/sql-statement-show-privileges.md @@ -68,5 +68,5 @@ show privileges; ## 另请参阅 -* [SHOW GRANTS](/reference/sql/statements/show-grants.md) -* [GRANT ](/reference/sql/statements/grant-privileges.md) +* [SHOW GRANTS](/sql-statements/sql-statement-show-grants.md) +* [GRANT ](/sql-statements/sql-statement-grant-privileges.md) diff --git a/reference/sql/statements/show-processlist.md b/sql-statements/sql-statement-show-processlist.md similarity index 95% rename from reference/sql/statements/show-processlist.md rename to sql-statements/sql-statement-show-processlist.md index 4d89c2f15825..4f66ea16ec4a 100644 --- a/reference/sql/statements/show-processlist.md +++ b/sql-statements/sql-statement-show-processlist.md @@ -42,4 +42,4 @@ SHOW PROCESSLIST; ## 另请参阅 -* [KILL \[TIDB\]](/reference/sql/statements/kill.md) +* [KILL \[TIDB\]](/sql-statements/sql-statement-kill.md) diff --git a/sql-statements/sql-statement-show-schemas.md b/sql-statements/sql-statement-show-schemas.md new file mode 100644 index 000000000000..c33d37fb5aff --- /dev/null +++ b/sql-statements/sql-statement-show-schemas.md @@ -0,0 +1,9 @@ +--- +title: SHOW SCHEMAS +summary: TiDB 数据库中 SHOW SCHEMAS 的使用概况。 +category: reference +--- + +# SHOW SCHEMAS + +`SHOW SCHEMAS` 语句是 [`SHOW DATABASES`](/sql-statements/sql-statement-show-databases.md) 的别名。包含该语句提供了 MySQL 兼容性。。 diff --git a/reference/sql/statements/show-status.md b/sql-statements/sql-statement-show-status.md similarity index 97% rename from reference/sql/statements/show-status.md rename to sql-statements/sql-statement-show-status.md index ffb683c0a67c..8a042d8f7508 100644 --- a/reference/sql/statements/show-status.md +++ b/sql-statements/sql-statement-show-status.md @@ -70,4 +70,4 @@ show global status; ## 另请参阅 -* [FLUSH STATUS](/reference/sql/statements/flush-status.md) +* [FLUSH STATUS](/sql-statements/sql-statement-flush-status.md) diff --git a/reference/sql/statements/show-table-regions.md b/sql-statements/sql-statement-show-table-regions.md similarity index 98% rename from reference/sql/statements/show-table-regions.md rename to sql-statements/sql-statement-show-table-regions.md index ac829b76e470..afc80fb5a215 100644 --- a/reference/sql/statements/show-table-regions.md +++ b/sql-statements/sql-statement-show-table-regions.md @@ -175,5 +175,5 @@ show table t regions; ## 另请参阅 -* [SPLIT REGION](/reference/sql/statements/split-region.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) +* [SPLIT REGION](/sql-statements/sql-statement-split-region.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) diff --git a/reference/sql/statements/show-table-status.md b/sql-statements/sql-statement-show-table-status.md similarity index 87% rename from reference/sql/statements/show-table-status.md rename to sql-statements/sql-statement-show-table-status.md index 45f07a5228ce..186b7a69c3fb 100644 --- a/reference/sql/statements/show-table-status.md +++ b/sql-statements/sql-statement-show-table-status.md @@ -6,7 +6,7 @@ category: reference # SHOW TABLE STATUS -`SHOW TABLE STATUS` 语句用于显示 TiDB 中表的各种统计信息。如果显示统计信息过期,建议运行 [`ANALYZE TABLE`](/reference/sql/statements/analyze-table.md)。 +`SHOW TABLE STATUS` 语句用于显示 TiDB 中表的各种统计信息。如果显示统计信息过期,建议运行 [`ANALYZE TABLE`](/sql-statements/sql-statement-analyze-table.md)。 ## 语法图 @@ -119,7 +119,7 @@ Max_data_length: 0 ## 另请参阅 -* [SHOW TABLES](/reference/sql/statements/show-tables.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [DROP TABLE](/reference/sql/statements/drop-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) +* [SHOW TABLES](/sql-statements/sql-statement-show-tables.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) diff --git a/reference/sql/statements/show-tables.md b/sql-statements/sql-statement-show-tables.md similarity index 90% rename from reference/sql/statements/show-tables.md rename to sql-statements/sql-statement-show-tables.md index c3ab706b782c..adb1422ac271 100644 --- a/reference/sql/statements/show-tables.md +++ b/sql-statements/sql-statement-show-tables.md @@ -81,6 +81,6 @@ mysql> SHOW TABLES IN mysql; ## 另请参阅 -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [DROP TABLE](/reference/sql/statements/drop-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) diff --git a/reference/sql/statements/show-variables.md b/sql-statements/sql-statement-show-variables.md similarity index 98% rename from reference/sql/statements/show-variables.md rename to sql-statements/sql-statement-show-variables.md index 225b261a8fe0..362f3b1e05e1 100644 --- a/reference/sql/statements/show-variables.md +++ b/sql-statements/sql-statement-show-variables.md @@ -131,4 +131,4 @@ SHOW GLOBAL VARIABLES LIKE 'time_zone%'; ## 另请参阅 -* [SET](/reference/sql/statements/set-variable.md) +* [SET](/sql-statements/sql-statement-set-variable.md) diff --git a/reference/sql/statements/show-warnings.md b/sql-statements/sql-statement-show-warnings.md similarity index 97% rename from reference/sql/statements/show-warnings.md rename to sql-statements/sql-statement-show-warnings.md index bb3b37cd622e..ed4e4e336736 100644 --- a/reference/sql/statements/show-warnings.md +++ b/sql-statements/sql-statement-show-warnings.md @@ -152,4 +152,4 @@ SELECT * FROM t1; ## 另请参阅 -* [SHOW ERRORS](/reference/sql/statements/show-errors.md) +* [SHOW ERRORS](/sql-statements/sql-statement-show-errors.md) diff --git a/reference/sql/statements/split-region.md b/sql-statements/sql-statement-split-region.md similarity index 99% rename from reference/sql/statements/split-region.md rename to sql-statements/sql-statement-split-region.md index 6aeb60c65c5b..6977b0c11f37 100644 --- a/reference/sql/statements/split-region.md +++ b/sql-statements/sql-statement-split-region.md @@ -367,8 +367,8 @@ region4: [ 3<<61 , +inf ) ## 相关 session 变量 -和 `SPLIT REGION` 语句相关的 session 变量有 `tidb_scatter_region`,`tidb_wait_split_region_finish` 和 `tidb_wait_split_region_timeout`,具体可参考 [TiDB 专用系统变量和语法](/reference/configuration/tidb-server/tidb-specific-variables.md)。 +和 `SPLIT REGION` 语句相关的 session 变量有 `tidb_scatter_region`,`tidb_wait_split_region_finish` 和 `tidb_wait_split_region_timeout`,具体可参考 [TiDB 专用系统变量和语法](/tidb-specific-system-variables.md)。 ## 另请参阅 -* [SHOW TABLE REGIONS](/reference/sql/statements/show-table-regions.md) +* [SHOW TABLE REGIONS](/sql-statements/sql-statement-show-table-regions.md) diff --git a/reference/sql/statements/start-transaction.md b/sql-statements/sql-statement-start-transaction.md similarity index 87% rename from reference/sql/statements/start-transaction.md rename to sql-statements/sql-statement-start-transaction.md index 09d7792367ba..ebee03718ab8 100644 --- a/reference/sql/statements/start-transaction.md +++ b/sql-statements/sql-statement-start-transaction.md @@ -64,6 +64,6 @@ Query OK, 0 rows affected (0.01 sec) ## 另请参阅 -* [COMMIT](/reference/sql/statements/commit.md) -* [ROLLBACK](/reference/sql/statements/rollback.md) -* [BEGIN](/reference/sql/statements/begin.md) +* [COMMIT](/sql-statements/sql-statement-commit.md) +* [ROLLBACK](/sql-statements/sql-statement-rollback.md) +* [BEGIN](/sql-statements/sql-statement-begin.md) diff --git a/reference/sql/statements/trace.md b/sql-statements/sql-statement-trace.md similarity index 98% rename from reference/sql/statements/trace.md rename to sql-statements/sql-statement-trace.md index 5854c77a6f68..16fdf3fbc8ac 100644 --- a/reference/sql/statements/trace.md +++ b/sql-statements/sql-statement-trace.md @@ -166,4 +166,4 @@ operation: [ ## 另请参阅 -* [EXPLAIN ANALYZE](/reference/sql/statements/explain-analyze.md) +* [EXPLAIN ANALYZE](/sql-statements/sql-statement-explain-analyze.md) diff --git a/reference/sql/statements/truncate.md b/sql-statements/sql-statement-truncate.md similarity index 86% rename from reference/sql/statements/truncate.md rename to sql-statements/sql-statement-truncate.md index d0f3544a2567..864db516dff4 100644 --- a/reference/sql/statements/truncate.md +++ b/sql-statements/sql-statement-truncate.md @@ -113,7 +113,7 @@ Query OK, 0 rows affected (0.11 sec) ## 另请参阅 -* [DROP TABLE](/reference/sql/statements/drop-table.md) -* [DELETE](/reference/sql/statements/delete.md) -* [CREATE TABLE](/reference/sql/statements/create-table.md) -* [SHOW CREATE TABLE](/reference/sql/statements/show-create-table.md) +* [DROP TABLE](/sql-statements/sql-statement-drop-table.md) +* [DELETE](/sql-statements/sql-statement-delete.md) +* [CREATE TABLE](/sql-statements/sql-statement-create-table.md) +* [SHOW CREATE TABLE](/sql-statements/sql-statement-show-create-table.md) diff --git a/reference/sql/statements/update.md b/sql-statements/sql-statement-update.md similarity index 87% rename from reference/sql/statements/update.md rename to sql-statements/sql-statement-update.md index 2bbe9db1cb83..e35c7bc19e7e 100644 --- a/reference/sql/statements/update.md +++ b/sql-statements/sql-statement-update.md @@ -104,7 +104,7 @@ SELECT * FROM t1; ## 另请参阅 -* [INSERT](/reference/sql/statements/insert.md) -* [SELECT](/reference/sql/statements/select.md) -* [DELETE](/reference/sql/statements/delete.md) -* [REPLACE](/reference/sql/statements/replace.md) +* [INSERT](/sql-statements/sql-statement-insert.md) +* [SELECT](/sql-statements/sql-statement-select.md) +* [DELETE](/sql-statements/sql-statement-delete.md) +* [REPLACE](/sql-statements/sql-statement-replace.md) diff --git a/reference/sql/statements/use.md b/sql-statements/sql-statement-use.md similarity index 93% rename from reference/sql/statements/use.md rename to sql-statements/sql-statement-use.md index 6017b28fd6ea..f6d27f234187 100644 --- a/reference/sql/statements/use.md +++ b/sql-statements/sql-statement-use.md @@ -126,5 +126,5 @@ SHOW TABLES; ## 另请参阅 -* [CREATE DATABASE](/reference/sql/statements/create-database.md) -* [SHOW TABLES](/reference/sql/statements/show-tables.md) +* [CREATE DATABASE](/sql-statements/sql-statement-create-database.md) +* [SHOW TABLES](/sql-statements/sql-statement-show-tables.md) diff --git a/reference/performance/statement-summary.md b/statement-summary-tables.md similarity index 100% rename from reference/performance/statement-summary.md rename to statement-summary-tables.md diff --git a/reference/performance/statistics.md b/statistics.md similarity index 100% rename from reference/performance/statistics.md rename to statistics.md diff --git a/support-resources.md b/support.md similarity index 100% rename from support-resources.md rename to support.md diff --git a/reference/tools/sync-diff-inspector/route-diff.md b/sync-diff-inspector/route-diff.md similarity index 100% rename from reference/tools/sync-diff-inspector/route-diff.md rename to sync-diff-inspector/route-diff.md diff --git a/reference/tools/sync-diff-inspector/shard-diff.md b/sync-diff-inspector/shard-diff.md similarity index 100% rename from reference/tools/sync-diff-inspector/shard-diff.md rename to sync-diff-inspector/shard-diff.md diff --git a/reference/tools/sync-diff-inspector/overview.md b/sync-diff-inspector/sync-diff-inspector-overview.md similarity index 96% rename from reference/tools/sync-diff-inspector/overview.md rename to sync-diff-inspector/sync-diff-inspector-overview.md index 8629c49382df..24c77996e06d 100644 --- a/reference/tools/sync-diff-inspector/overview.md +++ b/sync-diff-inspector/sync-diff-inspector-overview.md @@ -11,9 +11,9 @@ sync-diff-inspector 是一个用于校验 MySQL/TiDB 中两份数据是否一 * 对比表结构和数据 * 如果数据不一致,则生成用于修复数据的 SQL 语句 -* 支持[不同库名或表名的数据校验](/reference/tools/sync-diff-inspector/route-diff.md) -* 支持[分库分表场景下的数据校验](/reference/tools/sync-diff-inspector/shard-diff.md) -* 支持 [TiDB 主从集群的数据校验](/reference/tools/sync-diff-inspector/tidb-diff.md) +* 支持[不同库名或表名的数据校验](/sync-diff-inspector/route-diff.md) +* 支持[分库分表场景下的数据校验](/sync-diff-inspector/shard-diff.md) +* 支持 [TiDB 主从集群的数据校验](/sync-diff-inspector/upstream-downstream-diff.md) GitHub 地址:[sync-diff-inspector](https://github.com/pingcap/tidb-tools/tree/master/sync_diff_inspector) diff --git a/reference/tools/sync-diff-inspector/tidb-diff.md b/sync-diff-inspector/upstream-downstream-diff.md similarity index 100% rename from reference/tools/sync-diff-inspector/tidb-diff.md rename to sync-diff-inspector/upstream-downstream-diff.md diff --git a/reference/tools/syncer.md b/syncer-overview.md similarity index 99% rename from reference/tools/syncer.md rename to syncer-overview.md index 9f1a405c8352..a352c63a7b0f 100644 --- a/reference/tools/syncer.md +++ b/syncer-overview.md @@ -13,7 +13,7 @@ category: reference Syncer 是一个数据导入工具,能方便地将 MySQL 的数据增量导入到 TiDB。 -Syncer 包含在 tidb-enterprise-tools 安装包中,可[在此下载](/reference/tools/download.md)。 +Syncer 包含在 tidb-enterprise-tools 安装包中,可[在此下载](/download-ecosystem-tools.md)。 ## Syncer 架构 @@ -509,7 +509,7 @@ target-table = "order_2017" 6. 检查字符集。 - TiDB 和 MySQL 的字符集的兼容性不同,详见 [TiDB 支持的字符集](/reference/sql/characterset-and-collation.md)。 + TiDB 和 MySQL 的字符集的兼容性不同,详见 [TiDB 支持的字符集](/character-set-and-collation.md)。 7. 检查同步的表是否都有主键或者唯一索引。 diff --git a/reference/system-databases/cluster-config.md b/system-tables/system-table-cluster-config.md similarity index 100% rename from reference/system-databases/cluster-config.md rename to system-tables/system-table-cluster-config.md diff --git a/reference/system-databases/cluster-hardware.md b/system-tables/system-table-cluster-hardware.md similarity index 97% rename from reference/system-databases/cluster-hardware.md rename to system-tables/system-table-cluster-hardware.md index e4b73dd0e073..ee97adf0e55c 100644 --- a/reference/system-databases/cluster-hardware.md +++ b/system-tables/system-table-cluster-hardware.md @@ -29,7 +29,7 @@ desc information_schema.cluster_hardware; 字段解释: -* `TYPE`:对应集群信息表 [`information_schema.cluster_info`](/reference/system-databases/cluster-info.md) 中的 `TYPE` 字段,可取值为 `tidb`,`pd` 和 `tikv`。 +* `TYPE`:对应集群信息表 [`information_schema.cluster_info`](/system-tables/system-table-cluster-info.md) 中的 `TYPE` 字段,可取值为 `tidb`,`pd` 和 `tikv`。 * `INSTANCE`:对应于集群信息表 `information_schema.cluster_info` 中的 `INSTANCE` 字段。 * `DEVICE_TYPE`:硬件类型。目前可以查询的硬件类型有 `cpu`、`memory`、`disk` 和 `net`。 * `DEVICE_NAME`:硬件名。对于不同的 `DEVICE_TYPE`,`DEVICE_NAME` 的取值不同。 diff --git a/reference/system-databases/cluster-info.md b/system-tables/system-table-cluster-info.md similarity index 100% rename from reference/system-databases/cluster-info.md rename to system-tables/system-table-cluster-info.md diff --git a/reference/system-databases/cluster-load.md b/system-tables/system-table-cluster-load.md similarity index 97% rename from reference/system-databases/cluster-load.md rename to system-tables/system-table-cluster-load.md index 035c0227c27b..78225b19fbb7 100644 --- a/reference/system-databases/cluster-load.md +++ b/system-tables/system-table-cluster-load.md @@ -29,7 +29,7 @@ desc information_schema.cluster_load; 字段解释: -* `TYPE`:对应于节点信息表 [`information_schema.cluster_info`](/reference/system-databases/cluster-info.md) 中的 `TYPE` 字段,可取值为 `tidb`,`pd` 和 `tikv`。 +* `TYPE`:对应于节点信息表 [`information_schema.cluster_info`](/system-tables/system-table-cluster-info.md) 中的 `TYPE` 字段,可取值为 `tidb`,`pd` 和 `tikv`。 * `INSTANCE`:对应于节点信息表 `information_schema.cluster_info` 中的 `INSTANCE` 字段。 * `DEVICE_TYPE`:硬件类型,目前可以查询的硬件类型有 `cpu`、`memory`、`disk` 和 `net`。 * `DEVICE_NAME`:硬件名。对于不同的 `DEVICE_TYPE`,`DEVICE_NAME` 取值不同。 diff --git a/reference/system-databases/cluster-log.md b/system-tables/system-table-cluster-log.md similarity index 100% rename from reference/system-databases/cluster-log.md rename to system-tables/system-table-cluster-log.md diff --git a/reference/system-databases/cluster-systeminfo.md b/system-tables/system-table-cluster-systeminfo.md similarity index 94% rename from reference/system-databases/cluster-systeminfo.md rename to system-tables/system-table-cluster-systeminfo.md index b90b8a9a8924..39cd1f82108d 100644 --- a/reference/system-databases/cluster-systeminfo.md +++ b/system-tables/system-table-cluster-systeminfo.md @@ -30,8 +30,8 @@ desc information_schema.cluster_systeminfo; 字段解释: -* `TYPE`:对应于节点信息表 [`information_schema.cluster_info`](/reference/system-databases/cluster-info.md) 中的 `TYPE` 字段,可取值为 `tidb`,`pd` 和 `tikv`。 -* `INSTANCE`:对应于节点信息表 [`information_schema.cluster_info`](/reference/system-databases/information-schema.md) 中的 `INSTANCE` 字段。 +* `TYPE`:对应于节点信息表 [`information_schema.cluster_info`](/system-tables/system-table-cluster-info.md) 中的 `TYPE` 字段,可取值为 `tidb`,`pd` 和 `tikv`。 +* `INSTANCE`:对应于节点信息表 [`information_schema.cluster_info`](/system-tables/system-table-information-schema.md) 中的 `INSTANCE` 字段。 * `SYSTEM_TYPE`:系统类型,目前可以查询的系统类型有 `system`。 * `SYSTEM_NAME`:目前可以查询的 `SYSTEM_NAME` 为 `sysctl`。 * `NAME`:`sysctl` 对应的配置名。 diff --git a/reference/system-databases/information-schema.md b/system-tables/system-table-information-schema.md similarity index 96% rename from reference/system-databases/information-schema.md rename to system-tables/system-table-information-schema.md index c0947802c7da..44b201563c5f 100644 --- a/reference/system-databases/information-schema.md +++ b/system-tables/system-table-information-schema.md @@ -33,7 +33,7 @@ select * from `ANALYZE_STATUS`; ## CHARACTER_SETS 表 -`CHARACTER_SETS` 表提供[字符集](/reference/sql/characterset-and-collation.md)相关的信息。TiDB 目前仅支持部分字符集。 +`CHARACTER_SETS` 表提供[字符集](/character-set-and-collation.md)相关的信息。TiDB 目前仅支持部分字符集。 {{< copyable "sql" >}} @@ -333,7 +333,7 @@ SELECT * FROM session_variables LIMIT 10; ## SLOW_QUERY 表 -`SLOW_QUERY` 表中提供了当前节点的慢查询相关的信息,其内容通过解析当前节点的 TiDB 慢查询日志而来,列名和慢日志中的字段名是一一对应。关于如何使用该表调查和改善慢查询请参考[慢查询日志文档](/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md)。 +`SLOW_QUERY` 表中提供了当前节点的慢查询相关的信息,其内容通过解析当前节点的 TiDB 慢查询日志而来,列名和慢日志中的字段名是一一对应。关于如何使用该表调查和改善慢查询请参考[慢查询日志文档](/identify-slow-queries.md)。 {{< copyable "sql" >}} @@ -396,7 +396,7 @@ desc information_schema.slow_query; ## CLUSTER_SLOW_QUERY 表 -`CLUSTER_SLOW_QUERY` 表中提供了集群所有节点的慢查询相关的信息,其内容通过解析 TiDB 慢查询日志而来,该表使用上和 [`SLOW_QUERY`](#slow_query-表) 一样,表结构上比 `SLOW_QUERY` 多一列 `INSTANCE`,表示该行慢查询信息来自的 TiDB 节点地址。关于如何使用该表调查和改善慢查询请参考[慢查询日志文档](/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md)。 +`CLUSTER_SLOW_QUERY` 表中提供了集群所有节点的慢查询相关的信息,其内容通过解析 TiDB 慢查询日志而来,该表使用上和 [`SLOW_QUERY`](#slow_query-表) 一样,表结构上比 `SLOW_QUERY` 多一列 `INSTANCE`,表示该行慢查询信息来自的 TiDB 节点地址。关于如何使用该表调查和改善慢查询请参考[慢查询日志文档](/identify-slow-queries.md)。 {{< copyable "sql" >}} @@ -834,17 +834,17 @@ COLLATION_CONNECTION: utf8_general_ci ## SQL 诊断相关的表 -* [`information_schema.cluster_info`](/reference/system-databases/cluster-info.md) -* [`information_schema.cluster_config`](/reference/system-databases/cluster-config.md) -* [`information_schema.cluster_hardware`](/reference/system-databases/cluster-hardware.md) -* [`information_schema.cluster_load`](/reference/system-databases/cluster-load.md) -* [`information_schema.cluster_systeminfo`](/reference/system-databases/cluster-systeminfo.md) -* [`information_schema.cluster_log`](/reference/system-databases/cluster-log.md) -* [`information_schema.metrics_tables`](/reference/system-databases/metrics-tables.md) -* [`information_schema.metrics_summary`](/reference/system-databases/metrics-summary.md) -* [`information_schema.metrics_summary_by_label`](/reference/system-databases/metrics-summary.md) -* [`information_schema.inspection_result`](/reference/system-databases/inspection-result.md) -* [`information_schema.inspection_summary`](/reference/system-databases/inspection-summary.md) +* [`information_schema.cluster_info`](/system-tables/system-table-cluster-info.md) +* [`information_schema.cluster_config`](/system-tables/system-table-cluster-config.md) +* [`information_schema.cluster_hardware`](/system-tables/system-table-cluster-hardware.md) +* [`information_schema.cluster_load`](/system-tables/system-table-cluster-load.md) +* [`information_schema.cluster_systeminfo`](/system-tables/system-table-cluster-systeminfo.md) +* [`information_schema.cluster_log`](/system-tables/system-table-cluster-log.md) +* [`information_schema.metrics_tables`](/system-tables/system-table-metrics-tables.md) +* [`information_schema.metrics_summary`](/system-tables/system-table-metrics-summary.md) +* [`information_schema.metrics_summary_by_label`](/system-tables/system-table-metrics-summary.md) +* [`information_schema.inspection_result`](/system-tables/system-table-inspection-result.md) +* [`information_schema.inspection_summary`](/system-tables/system-table-inspection-summary.md) ## 不支持的 Information Schema 表 diff --git a/reference/system-databases/inspection-result.md b/system-tables/system-table-inspection-result.md similarity index 98% rename from reference/system-databases/inspection-result.md rename to system-tables/system-table-inspection-result.md index 639af4165725..ef60ad0d7fce 100644 --- a/reference/system-databases/inspection-result.md +++ b/system-tables/system-table-inspection-result.md @@ -253,7 +253,7 @@ DETAILS | the cluster has 2 different tidb versions, execute the sql to see mo `critical-error` 诊断规则执行以下两个诊断规则: -* 通过查询 [metrics schema](/reference/system-databases/metrics-schema.md) 数据库中相关的监控系统表,检测集群是否有出现以下比较严重的错误: +* 通过查询 [metrics schema](/system-tables/system-table-metrics-schema.md) 数据库中相关的监控系统表,检测集群是否有出现以下比较严重的错误: | 组件 | 错误名字 | 相关监控表 | 错误说明 | | ---- | ---- | ---- | ---- | @@ -269,7 +269,7 @@ DETAILS | the cluster has 2 different tidb versions, execute the sql to see mo ### `threshold-check` 诊断规则 -`threshold-check` 诊断规则通过查询 [metrics schema](/reference/system-databases/metrics-schema.md) 数据库中相关的监控系统表,检测集群中以下指标是否超出阈值: +`threshold-check` 诊断规则通过查询 [metrics schema](/system-tables/system-table-metrics-schema.md) 数据库中相关的监控系统表,检测集群中以下指标是否超出阈值: | 组件 | 监控指标 | 相关监控表 | 预期值 | 说明 | | :---- | :---- | :---- | :---- | :---- | diff --git a/reference/system-databases/inspection-summary.md b/system-tables/system-table-inspection-summary.md similarity index 100% rename from reference/system-databases/inspection-summary.md rename to system-tables/system-table-inspection-summary.md diff --git a/reference/system-databases/metrics-schema.md b/system-tables/system-table-metrics-schema.md similarity index 99% rename from reference/system-databases/metrics-schema.md rename to system-tables/system-table-metrics-schema.md index ff9bd933f371..7c732a66b5ea 100644 --- a/reference/system-databases/metrics-schema.md +++ b/system-tables/system-table-metrics-schema.md @@ -6,7 +6,7 @@ category: reference # Metrics Schema -为了能够动态地观察并对比不同时间段的集群情况,TiDB 4.0 诊断系统添加了集群监控系统表。所有表都在 metrics schema 中,可以通过 SQL 的方式查询监控。实际上,SQL 诊断,以及 `metrics_summary`,`metrics_summary_by_label`,`inspection_result` 这三个监控相关的汇总表数据都是通过查询 metrics schema 库中的各种监控表来获取信息的。目前添加的系统表数量较多,用户可以通过 [`information_schema.metrics_tables`](/reference/system-databases/metrics-tables.md) 查询这些表的相关信息。 +为了能够动态地观察并对比不同时间段的集群情况,TiDB 4.0 诊断系统添加了集群监控系统表。所有表都在 metrics schema 中,可以通过 SQL 的方式查询监控。实际上,SQL 诊断,以及 `metrics_summary`,`metrics_summary_by_label`,`inspection_result` 这三个监控相关的汇总表数据都是通过查询 metrics schema 库中的各种监控表来获取信息的。目前添加的系统表数量较多,用户可以通过 [`information_schema.metrics_tables`](/system-tables/system-table-metrics-tables.md) 查询这些表的相关信息。 ## 概览 diff --git a/reference/system-databases/metrics-summary.md b/system-tables/system-table-metrics-summary.md similarity index 100% rename from reference/system-databases/metrics-summary.md rename to system-tables/system-table-metrics-summary.md diff --git a/reference/system-databases/metrics-tables.md b/system-tables/system-table-metrics-tables.md similarity index 100% rename from reference/system-databases/metrics-tables.md rename to system-tables/system-table-metrics-tables.md diff --git a/reference/system-databases/mysql.md b/system-tables/system-table-overview.md similarity index 100% rename from reference/system-databases/mysql.md rename to system-tables/system-table-overview.md diff --git a/reference/system-databases/sql-diagnosis.md b/system-tables/system-table-sql-diagnosis.md similarity index 74% rename from reference/system-databases/sql-diagnosis.md rename to system-tables/system-table-sql-diagnosis.md index 7a4a2730bf80..b87dd8c02ba9 100644 --- a/reference/system-databases/sql-diagnosis.md +++ b/system-tables/system-table-sql-diagnosis.md @@ -20,29 +20,29 @@ SQL 诊断共分三大块: 集群信息表将一个集群中的所有实例的信息都汇聚在一起,让用户仅通过一条 SQL 就能查询整个集群相关信息。 集群信息表列表如下: -* 集群拓扑表 [`information_schema.cluster_info`](/reference/system-databases/cluster-info.md) 用于获取集群当前的拓扑信息,以及各个实例的版本、版本对应的 Git Hash、各实例的启动时间、各实例的运行时间。 -* 集群配置表 [`information_schema.cluster_config`](/reference/system-databases/cluster-config.md) 用于获取集群当前所有实例的配置。对于 TiDB 4.0 之前的版本,用户必须逐个访问各个实例的 HTTP API 才能获取这些配置信息。 -* 集群硬件表 [`information_schema.cluster_hardware`](/reference/system-databases/cluster-hardware.md) 用于快速查询集群硬件信息。 -* 集群负载表 [`information_schema.cluster_load`](/reference/system-databases/cluster-load.md) 用于查询集群不同实例以及不同硬件类型的负载信息。 -* 内核参数表 [`information_schema.cluster_systeminfo`](/reference/system-databases/cluster-systeminfo.md) 用于查询集群不同实例的内核配置信息。目前支持查询 sysctl 的信息。 -* 集群日志表 [`information_schema.cluster_log`](/reference/system-databases/cluster-log.md) 用于集群日志查询,通过将查询条件下推到各个实例,降低日志查询对集群的影响,性能影响小于等 grep 命令。 +* 集群拓扑表 [`information_schema.cluster_info`](/system-tables/system-table-cluster-info.md) 用于获取集群当前的拓扑信息,以及各个实例的版本、版本对应的 Git Hash、各实例的启动时间、各实例的运行时间。 +* 集群配置表 [`information_schema.cluster_config`](/system-tables/system-table-cluster-config.md) 用于获取集群当前所有实例的配置。对于 TiDB 4.0 之前的版本,用户必须逐个访问各个实例的 HTTP API 才能获取这些配置信息。 +* 集群硬件表 [`information_schema.cluster_hardware`](/system-tables/system-table-cluster-hardware.md) 用于快速查询集群硬件信息。 +* 集群负载表 [`information_schema.cluster_load`](/system-tables/system-table-cluster-load.md) 用于查询集群不同实例以及不同硬件类型的负载信息。 +* 内核参数表 [`information_schema.cluster_systeminfo`](/system-tables/system-table-cluster-systeminfo.md) 用于查询集群不同实例的内核配置信息。目前支持查询 sysctl 的信息。 +* 集群日志表 [`information_schema.cluster_log`](/system-tables/system-table-cluster-log.md) 用于集群日志查询,通过将查询条件下推到各个实例,降低日志查询对集群的影响,性能影响小于等 grep 命令。 -TiDB 4.0 之前的系统表,只能查看当前实例信息,TiDB 4.0 实现了对应的集群表,可以在单个 TiDB 实例上拥有整个集群的全局视图。这些表目前都位于 [`information_schema`](/reference/system-databases/information-schema.md) 中,查询方式与其他 `information_schema` 系统表一致。 +TiDB 4.0 之前的系统表,只能查看当前实例信息,TiDB 4.0 实现了对应的集群表,可以在单个 TiDB 实例上拥有整个集群的全局视图。这些表目前都位于 [`information_schema`](/system-tables/system-table-information-schema.md) 中,查询方式与其他 `information_schema` 系统表一致。 ## 集群监控表 为了能够动态地观察并对比不同时间段的集群情况,TiDB 4.0 诊断系统添加了集群监控系统表。所有监控表都在 `metrics_schema` 中,可以通过 SQL 的方式查询监控信息。SQL 查询监控允许用户对整个集群的所有监控进行关联查询,并对比不同时间段的结果,迅速找出性能瓶颈。 -* [`information_schema.metrics_tables`](/reference/system-databases/metrics-tables.md):由于目前添加的系统表数量较多,因此用户可以通过该表查询这些监控表的相关元信息。 +* [`information_schema.metrics_tables`](/system-tables/system-table-metrics-tables.md):由于目前添加的系统表数量较多,因此用户可以通过该表查询这些监控表的相关元信息。 由于 TiDB 集群的监控指标数量较大,因此 TiDB 4.0 提供以下监控汇总表: -* 监控汇总表 [`information_schema.metrics_summary`](/reference/system-databases/metrics-summary.md) 用于汇总所有监控数据,以提升用户排查各监控指标的效率。 -* 监控汇总表 [`information_schema.metrics_summary_by_label`](/reference/system-databases/metrics-summary.md) 同样用于汇总所有监控数据,不过该表会对不同的 label 进行区分统计。 +* 监控汇总表 [`information_schema.metrics_summary`](/system-tables/system-table-metrics-summary.md) 用于汇总所有监控数据,以提升用户排查各监控指标的效率。 +* 监控汇总表 [`information_schema.metrics_summary_by_label`](/system-tables/system-table-metrics-summary.md) 同样用于汇总所有监控数据,不过该表会对不同的 label 进行区分统计。 ## 自动诊断 以上集群信息表和集群监控表均需要用户手动执行固定模式的 SQL 语句来排查集群问题。为了进一步优化用户体验,TiDB 根据已有的基础信息表,提供诊断相关的系统表,使诊断自动执行。自动诊断相关的系统表如下: -* 诊断结果表 [`information_schema.inspection_result`](/reference/system-databases/inspection-result.md) 用于展示对系统的诊断结果。诊断是惰性触发,使用 `select * from inspection_result` 会触发所有诊断规则对系统进行诊断,并在结果中展示系统中的故障或风险。 -* 诊断汇总表 [`information_schema.inspection_summary`](/reference/system-databases/inspection-summary.md) 用于对特定链路或模块的监控进行汇总,用户可以根据整个模块或链路的上下文来排查定位问题。 +* 诊断结果表 [`information_schema.inspection_result`](/system-tables/system-table-inspection-result.md) 用于展示对系统的诊断结果。诊断是惰性触发,使用 `select * from inspection_result` 会触发所有诊断规则对系统进行诊断,并在结果中展示系统中的故障或风险。 +* 诊断汇总表 [`information_schema.inspection_summary`](/system-tables/system-table-inspection-summary.md) 用于对特定链路或模块的监控进行汇总,用户可以根据整个模块或链路的上下文来排查定位问题。 diff --git a/reference/configuration/tidb-server/mysql-variables.md b/system-variables.md similarity index 91% rename from reference/configuration/tidb-server/mysql-variables.md rename to system-variables.md index 5c12382f7c53..bd26a1a03bbd 100644 --- a/reference/configuration/tidb-server/mysql-variables.md +++ b/system-variables.md @@ -9,7 +9,7 @@ MySQL 系统变量 (System Variables) 是一些系统参数,用于调整数据 ## 设置系统变量 -通过 [`SET` 语句](/reference/sql/statements/admin.md#set-语句)可以修改系统变量的值。进行修改时,还要考虑变量可修改的范围,不是所有的变量都能在全局/会话范围内进行修改。具体的可修改范围参考 [MySQL 动态变量文档](https://dev.mysql.com/doc/refman/5.7/en/dynamic-system-variables.html)。 +通过 [`SET` 语句](/sql-statements/sql-statement-admin.md#set-语句)可以修改系统变量的值。进行修改时,还要考虑变量可修改的范围,不是所有的变量都能在全局/会话范围内进行修改。具体的可修改范围参考 [MySQL 动态变量文档](https://dev.mysql.com/doc/refman/5.7/en/dynamic-system-variables.html)。 ### 全局范围值 @@ -198,4 +198,4 @@ MySQL 系统变量 (System Variables) 是一些系统参数,用于调整数据 ## TiDB 特有的系统变量 -参见 [TiDB 专用系统变量](/reference/configuration/tidb-server/tidb-specific-variables.md)。 +参见 [TiDB 专用系统变量](/tidb-specific-system-variables.md)。 diff --git a/how-to/deploy/orchestrated/docker.md b/test-deployment-using-docker.md similarity index 98% rename from how-to/deploy/orchestrated/docker.md rename to test-deployment-using-docker.md index 6e6d85adcba0..668934ce5d16 100644 --- a/how-to/deploy/orchestrated/docker.md +++ b/test-deployment-using-docker.md @@ -9,7 +9,7 @@ category: how-to > **警告:** > -> 对于生产环境,不要使用 Docker 进行部署,而应[使用 TiUP 部署 TiDB 集群](/how-to/deploy/orchestrated/tiup.md)。 +> 对于生产环境,不要使用 Docker 进行部署,而应[使用 TiUP 部署 TiDB 集群](/production-deployment-using-tiup.md)。 ## 环境准备 diff --git a/reference/tools/ticdc/column-ddl-type.md b/ticdc/column-ddl-type-codes.md similarity index 92% rename from reference/tools/ticdc/column-ddl-type.md rename to ticdc/column-ddl-type-codes.md index 9d519c44c7db..11960ca38e7f 100644 --- a/reference/tools/ticdc/column-ddl-type.md +++ b/ticdc/column-ddl-type-codes.md @@ -5,7 +5,7 @@ category: reference # Column 和 DDL 的类型码 -Column 和 DDL 的类型码是由 [TiCDC Open Protocol](/reference/tools/ticdc/open-protocol.md) 定义的 Column 和 DDL 类型编码,Column Type Code 标识 Row Changed Event 中的列数据类型,DDL Type Code 标识 DDL Event 中的 DDL 语句类型。 +Column 和 DDL 的类型码是由 [TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md) 定义的 Column 和 DDL 类型编码,Column Type Code 标识 Row Changed Event 中的列数据类型,DDL Type Code 标识 DDL Event 中的 DDL 语句类型。 ## Column Type Code diff --git a/reference/tools/ticdc/deploy.md b/ticdc/deploy-ticdc.md similarity index 95% rename from reference/tools/ticdc/deploy.md rename to ticdc/deploy-ticdc.md index 91482a60cd36..a0467ac3d4ba 100644 --- a/reference/tools/ticdc/deploy.md +++ b/ticdc/deploy-ticdc.md @@ -19,7 +19,7 @@ category: reference TiUP cluster 是适用于 TiDB 4.0 及以上版本的部署工具,部署运行 TiCDC 必须使用 TiDB v4.0.0-rc.1 或更新版本,部署流程如下: -1. 参考 [TiUP 部署文档](/how-to/deploy/orchestrated/tiup.md)安装 TiUP。 +1. 参考 [TiUP 部署文档](/production-deployment-using-tiup.md)安装 TiUP。 2. 安装 TiUP cluster 组件 @@ -87,7 +87,7 @@ TiUP cluster 是适用于 TiDB 4.0 及以上版本的部署工具,部署运行 1. 首先确认当前 TiDB 的版本支持 TiCDC,否则需要先升级 TiDB 集群至 4.0.0 rc.1 或更新版本。 -2. 参考 [扩容 TiDB/TiKV/PD/TiCDC 节点](/how-to/scale/with-tiup.md#1-扩容-tidbtikvpdticdc-节点) 章节对 TiCDC 进行部署。 +2. 参考 [扩容 TiDB/TiKV/PD/TiCDC 节点](/scale-tidb-using-tiup.md#1-扩容-tidbtikvpdticdc-节点) 章节对 TiCDC 进行部署。 示例的扩容配置文件为: @@ -146,7 +146,7 @@ cdc cli changefeed create --pd=http://10.0.10.25:2379 --start-ts=415238226621235 - `pd`: PD client 的 URL。 - `start-ts`: 指定开始同步的 TSO,不指定或指定为 `0` 时将使用当前 TSO 作为同步的起始 TSO。 - `target-ts`: 指定同步结束的 TSO,不指定默认会永久同步。 -- `sink-uri`: sink 地址,目前支持 `mysql`/`tidb` 和 `kafka`。关于 sink URI 的写法请参考 [sink URI 配置规则](/reference/tools/ticdc/sink.md) +- `sink-uri`: sink 地址,目前支持 `mysql`/`tidb` 和 `kafka`。关于 sink URI 的写法请参考 [sink URI 配置规则](/ticdc/sink-url.md) - `config`: 同步任务的配置。目前提供黑白名单配置和跳过特定 `commit-ts` 的事务。 执行该命令后,TiCDC 就会从指定的 start-ts (`415238226621235200`) 开始同步数据到下游 MySQL (`127.0.0.1:3306`) 中。 diff --git a/reference/tools/ticdc/manage.md b/ticdc/manage-ticdc.md similarity index 100% rename from reference/tools/ticdc/manage.md rename to ticdc/manage-ticdc.md diff --git a/reference/tools/ticdc/sink.md b/ticdc/sink-url.md similarity index 100% rename from reference/tools/ticdc/sink.md rename to ticdc/sink-url.md diff --git a/reference/tools/ticdc/open-protocol.md b/ticdc/ticdc-open-protocol.md similarity index 98% rename from reference/tools/ticdc/open-protocol.md rename to ticdc/ticdc-open-protocol.md index 032cddd53430..c4e599abf583 100644 --- a/reference/tools/ticdc/open-protocol.md +++ b/ticdc/ticdc-open-protocol.md @@ -89,7 +89,7 @@ Value: | :---------- | :----- | :--------------------- | | UpdateOrDelete | String | 标识该 Event 是增加 Row 还是删除 Row,取值只可能是 "u"/"d" | | Column Name | String | 列名 | - | Column Type | Number | 列类型,详见:[Column 和 DDL 的类型码](/reference/tools/ticdc/column-ddl-type.md) | + | Column Type | Number | 列类型,详见:[Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) | | Where Handle | Bool | 表示该列是否可以作为 Where 筛选条件,当该列在表内具有唯一性时,Where Handle 为 true | | Column Value | Any | 列值 | @@ -124,7 +124,7 @@ Value: | 参数 | 类型 | 说明 | | :-------- | :----- | :------------ | | DDL Query | String | DDL Query SQL | - | DDL Type | String | DDL 类型,详见:[Column 和 DDL 的类型码](/reference/tools/ticdc/column-ddl-type.md) | + | DDL Type | String | DDL 类型,详见:[Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) | ### Resolved Event diff --git a/reference/tools/ticdc/overview.md b/ticdc/ticdc-overview.md similarity index 84% rename from reference/tools/ticdc/overview.md rename to ticdc/ticdc-overview.md index 583923e16df4..3f3b82f540fd 100644 --- a/reference/tools/ticdc/overview.md +++ b/ticdc/ticdc-overview.md @@ -5,7 +5,7 @@ category: reference # TiCDC 简介 -[TiCDC](https://github.com/pingcap/ticdc) 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供[开放数据协议](/reference/tools/ticdc/open-protocol.md) (TiCDC Open Protocol),支持其他系统订阅数据变更。 +[TiCDC](https://github.com/pingcap/ticdc) 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供[开放数据协议](/ticdc/ticdc-open-protocol.md) (TiCDC Open Protocol),支持其他系统订阅数据变更。 ## TiCDC 架构 @@ -53,5 +53,5 @@ TiCDC 的系统架构如下图所示: 目前 TiCDC(4.0 发布版本)与部分 TiDB 特性存在冲突,在后续的 TiCDC 版本上会逐渐修复。当前版本需要做相应的兼容性处理。暂不支持的场景如下: - 暂不支持同步分区表。 -- 暂不支持 TiDB 4.0 [新的 Collation 框架](/reference/sql/characterset-and-collation.md#新框架下的-collation-支持)。如果开启该功能,需保证下游集群为 TiDB 并使用与上游相同的 collation,否则会出现 collation 导致的无法定位数据的问题。 +- 暂不支持 TiDB 4.0 [新的 Collation 框架](/character-set-and-collation.md#新框架下的-collation-支持)。如果开启该功能,需保证下游集群为 TiDB 并使用与上游相同的 collation,否则会出现 collation 导致的无法定位数据的问题。 - 暂不支持 [TiKV Hibernate Region](https://github.com/tikv/tikv/blob/master/docs/reference/configuration/raftstore-config.md#hibernate-region)。TiCDC 会使 Region 无法进入静默状态。 diff --git a/reference/tools/ticdc/troubleshoot.md b/ticdc/troubleshoot-ticdc.md similarity index 90% rename from reference/tools/ticdc/troubleshoot.md rename to ticdc/troubleshoot-ticdc.md index 253ea90c8ede..2b922a53721c 100644 --- a/reference/tools/ticdc/troubleshoot.md +++ b/ticdc/troubleshoot-ticdc.md @@ -18,7 +18,7 @@ category: reference ## 启动任务时提示部分表不能同步 -在使用 `cdc cli changefeed create` 创建同步任务时会检查上游表是否符合[同步限制](/reference/tools/ticdc/overview.md#同步限制)。如果存在表不满足同步限制,会提示 `some tables are not eligible to replicate` 并列出这些不满足的表。用户选择 `Y` 或 `y` 则会继续创建同步任务,并且同步过程中自动忽略这些表的所有更新。用户选择其他输入,则不会创建同步任务。 +在使用 `cdc cli changefeed create` 创建同步任务时会检查上游表是否符合[同步限制](/ticdc/ticdc-overview.md#同步限制)。如果存在表不满足同步限制,会提示 `some tables are not eligible to replicate` 并列出这些不满足的表。用户选择 `Y` 或 `y` 则会继续创建同步任务,并且同步过程中自动忽略这些表的所有更新。用户选择其他输入,则不会创建同步任务。 ## 同步中断的处理方法 diff --git a/reference/tidb-binlog/bidirectional-replication.md b/tidb-binlog/bidirectional-replication-between-tidb-clusters.md similarity index 100% rename from reference/tidb-binlog/bidirectional-replication.md rename to tidb-binlog/bidirectional-replication-between-tidb-clusters.md diff --git a/reference/tidb-binlog/binlog-slave-client.md b/tidb-binlog/binlog-slave-client.md similarity index 100% rename from reference/tidb-binlog/binlog-slave-client.md rename to tidb-binlog/binlog-slave-client.md diff --git a/reference/tidb-binlog/deploy.md b/tidb-binlog/deploy-tidb-binlog.md similarity index 98% rename from reference/tidb-binlog/deploy.md rename to tidb-binlog/deploy-tidb-binlog.md index adc4b2a43afc..c0b076707fa4 100644 --- a/reference/tidb-binlog/deploy.md +++ b/tidb-binlog/deploy-tidb-binlog.md @@ -67,7 +67,7 @@ Pump 和 Drainer 均可部署和运行在 Intel x86-64 架构的 64 位通用硬 # gc: 7 ``` - 请确保部署目录有足够空间存储 binlog,详见[调整部署目录](/how-to/deploy/orchestrated/ansible.md#调整部署目录),也可为 Pump 设置单独的部署目录。 + 请确保部署目录有足够空间存储 binlog,详见[调整部署目录](/online-deployment-using-ansible.md#调整部署目录),也可为 Pump 设置单独的部署目录。 ```ini ## Binlog Part @@ -121,7 +121,7 @@ Pump 和 Drainer 均可部署和运行在 Intel x86-64 架构的 64 位通用硬 **方式二**:从零开始部署含 Pump 组件的 TiDB 集群 - 使用 TiDB Ansible 部署 TiDB 集群,方法参考 [使用 TiDB Ansible 部署 TiDB 集群](/how-to/deploy/orchestrated/ansible.md)。 + 使用 TiDB Ansible 部署 TiDB 集群,方法参考 [使用 TiDB Ansible 部署 TiDB 集群](/online-deployment-using-ansible.md)。 3. 查看 Pump 服务状态 @@ -626,4 +626,4 @@ Drainer="192.168.0.13" > - Drainer 不支持对 ignore schemas(在过滤列表中的 schemas)的 table 进行 rename DDL 操作。 > - 在已有的 TiDB 集群中启动 Drainer,一般需要全量备份并且获取**快照时间戳**,然后导入全量备份,最后启动 Drainer 从对应的快照时间戳开始同步增量数据。 > - 下游使用 MySQL 或 TiDB 时应当保证上下游数据库的 sql_mode 具有一致性,即下游数据库同步每条 SQL 语句时的 sql_mode 应当与上游数据库执行该条 SQL 语句时的 sql_mode 保持一致。可以在上下游分别执行 `select @@sql_mode;` 进行查询和比对。 -> - 如果存在上游 TiDB 能运行但下游 MySQL 不支持的 DDL 语句时(例如下游 MySQL 使用 InnoDB 引擎时同步语句 `CREATE TABLE t1(a INT) ROW_FORMAT=FIXED;`),Drainer 也会同步失败,此时可以在 Drainer 配置中跳过该事务,同时在下游手动执行兼容的语句,详见[跳过事务](/reference/tidb-binlog/faq.md#同步时出现上游数据库支持但是下游数据库执行会出错的-ddl应该怎么办)。 +> - 如果存在上游 TiDB 能运行但下游 MySQL 不支持的 DDL 语句时(例如下游 MySQL 使用 InnoDB 引擎时同步语句 `CREATE TABLE t1(a INT) ROW_FORMAT=FIXED;`),Drainer 也会同步失败,此时可以在 Drainer 配置中跳过该事务,同时在下游手动执行兼容的语句,详见[跳过事务](/tidb-binlog/tidb-binlog-faq.md#同步时出现上游数据库支持但是下游数据库执行会出错的-ddl应该怎么办)。 diff --git a/reference/tidb-binlog/troubleshoot/error-handling.md b/tidb-binlog/handle-tidb-binlog-errors.md similarity index 74% rename from reference/tidb-binlog/troubleshoot/error-handling.md rename to tidb-binlog/handle-tidb-binlog-errors.md index 68c42af4ee2d..e6baf63edbe2 100644 --- a/reference/tidb-binlog/troubleshoot/error-handling.md +++ b/tidb-binlog/handle-tidb-binlog-errors.md @@ -29,4 +29,4 @@ fetch.message.max.bytes=1073741824 报错原因:Pump 启动时需要通知所有 Online 状态的 Drainer,如果通知失败则会打印该错误日志。 -解决方法:可以使用 [binlogctl 工具](/reference/tidb-binlog/maintain.md#binlogctl-工具)查看所有 Drainer 的状态是否有异常,保证 Online 状态的 Drainer 都在正常工作。如果某个 Drainer 的状态和实际运行情况不一致,则使用 binlogctl 修改状态,然后再重启 Pump。 +解决方法:可以使用 [binlogctl 工具](/tidb-binlog/maintain-tidb-binlog-cluster.md#binlogctl-工具)查看所有 Drainer 的状态是否有异常,保证 Online 状态的 Drainer 都在正常工作。如果某个 Drainer 的状态和实际运行情况不一致,则使用 binlogctl 修改状态,然后再重启 Pump。 diff --git a/reference/tidb-binlog/maintain.md b/tidb-binlog/maintain-tidb-binlog-cluster.md similarity index 100% rename from reference/tidb-binlog/maintain.md rename to tidb-binlog/maintain-tidb-binlog-cluster.md diff --git a/reference/tidb-binlog/monitor.md b/tidb-binlog/monitor-tidb-binlog-cluster.md similarity index 100% rename from reference/tidb-binlog/monitor.md rename to tidb-binlog/monitor-tidb-binlog-cluster.md diff --git a/reference/tidb-binlog/configs.md b/tidb-binlog/tidb-binlog-configuration-file.md similarity index 100% rename from reference/tidb-binlog/configs.md rename to tidb-binlog/tidb-binlog-configuration-file.md diff --git a/reference/tidb-binlog/faq.md b/tidb-binlog/tidb-binlog-faq.md similarity index 98% rename from reference/tidb-binlog/faq.md rename to tidb-binlog/tidb-binlog-faq.md index 543a7ef1ff25..35cd44abeb4a 100644 --- a/reference/tidb-binlog/faq.md +++ b/tidb-binlog/tidb-binlog-faq.md @@ -70,7 +70,7 @@ Drainer 会因为获取不到这个 Pump 的数据没法同步数据到下游。 如果 Pump 没法恢复,可采用以下方式进行处理: -1. 使用 [binlogctl 将该 Pump 状态修改为 `offline`](/reference/tidb-binlog/maintain.md)(丢失这个 Pump 的数据) +1. 使用 [binlogctl 将该 Pump 状态修改为 `offline`](/tidb-binlog/maintain-tidb-binlog-cluster.md)(丢失这个 Pump 的数据) 2. Drainer 获取到的数据会丢失这个 Pump 上的数据,下游跟上游数据会不一致,需要重新做全量 + 增量同步。具体步骤如下: 1. 停止当前 Drainer。 2. 上游做全量备份。 @@ -99,12 +99,12 @@ Drainer 启动的时候会去读取 checkpoint,如果读取不到,就会使 假如 checkpoint 还在,可采用以下方式进行处理: 1. 部署新的 Drainer 并启动即可(参考 checkpoint 介绍,Drainer 可以读取 checkpoint 接着同步)。 -2. 使用 [binlogctl 将老的 Drainer 状态修改成 `offline`](/reference/tidb-binlog/maintain.md)。 +2. 使用 [binlogctl 将老的 Drainer 状态修改成 `offline`](/tidb-binlog/maintain-tidb-binlog-cluster.md)。 假如 checkpoint 不在,可以如下处理: 1. 获取之前 Drainer 的 checkpoint `commit-ts`,做为新部署 Drainer 的 `initial-commit-ts` 配置来部署新的 Drainer。 -2. 使用 [binlogctl 将老的 Drainer 状态修改成 `offline`](/reference/tidb-binlog/maintain.md)。 +2. 使用 [binlogctl 将老的 Drainer 状态修改成 `offline`](/tidb-binlog/maintain-tidb-binlog-cluster.md)。 ## 如何用全量 + binlog 备份文件来恢复一个集群? diff --git a/reference/tidb-binlog/glossary.md b/tidb-binlog/tidb-binlog-glossary.md similarity index 100% rename from reference/tidb-binlog/glossary.md rename to tidb-binlog/tidb-binlog-glossary.md diff --git a/reference/tidb-binlog/overview.md b/tidb-binlog/tidb-binlog-overview.md similarity index 86% rename from reference/tidb-binlog/overview.md rename to tidb-binlog/tidb-binlog-overview.md index e978f4d15bea..8aff49f59767 100644 --- a/reference/tidb-binlog/overview.md +++ b/tidb-binlog/tidb-binlog-overview.md @@ -42,19 +42,19 @@ TiDB Binlog 集群主要分为 Pump 和 Drainer 两个组件,以及 binlogctl * TiDB 通过内置的 Pump Client 将 Binlog 分发到各个 Pump。 * Pump 负责存储 Binlog,并将 Binlog 按顺序提供给 Drainer。 * Drainer 负责读取各个 Pump 的 Binlog,归并排序后发送到下游。 -* Drainer 支持 [relay log](/reference/tidb-binlog/relay-log.md) 功能,通过 relay log 保证下游集群的一致性状态。 +* Drainer 支持 [relay log](/tidb-binlog/tidb-binlog-relay-log.md) 功能,通过 relay log 保证下游集群的一致性状态。 ## 注意事项 * 需要使用 TiDB v2.0.8-binlog、v2.1.0-rc.5 及以上版本,否则不兼容该版本的 TiDB Binlog。 -* Drainer 支持将 Binlog 同步到 MySQL、TiDB、Kafka 或者本地文件。如果需要将 Binlog 同步到其他 Drainer 不支持的类型的系统中,可以设置 Drainer 将 Binlog 同步到 Kafka,然后根据 binlog slave protocol 进行定制处理,参考 [binlog slave client 用户文档](/reference/tidb-binlog/binlog-slave-client.md)。 +* Drainer 支持将 Binlog 同步到 MySQL、TiDB、Kafka 或者本地文件。如果需要将 Binlog 同步到其他 Drainer 不支持的类型的系统中,可以设置 Drainer 将 Binlog 同步到 Kafka,然后根据 binlog slave protocol 进行定制处理,参考 [binlog slave client 用户文档](/tidb-binlog/binlog-slave-client.md)。 -* 如果 TiDB Binlog 用于增量恢复,可以设置配置项 `db-type="file"`,Drainer 会将 binlog 转化为指定的 [proto buffer 格式](https://github.com/pingcap/tidb-binlog/blob/master/proto/binlog.proto)的数据,再写入到本地文件中。这样就可以使用 [Reparo](/reference/tidb-binlog/reparo.md) 恢复增量数据。 +* 如果 TiDB Binlog 用于增量恢复,可以设置配置项 `db-type="file"`,Drainer 会将 binlog 转化为指定的 [proto buffer 格式](https://github.com/pingcap/tidb-binlog/blob/master/proto/binlog.proto)的数据,再写入到本地文件中。这样就可以使用 [Reparo](/tidb-binlog/tidb-binlog-reparo.md) 恢复增量数据。 关于 `db-type` 的取值,应注意: - 如果 TiDB 版本 < 2.1.9,则 `db-type="pb"`。 - 如果 TiDB 版本 > = 2.1.9,则 `db-type="file"` 或 `db-type="pb"`。 -* 如果下游为 MySQL/TiDB,数据同步后可以使用 [sync-diff-inspector](/reference/tools/sync-diff-inspector/overview.md) 进行数据校验。 +* 如果下游为 MySQL/TiDB,数据同步后可以使用 [sync-diff-inspector](/sync-diff-inspector/sync-diff-inspector-overview.md) 进行数据校验。 diff --git a/reference/tidb-binlog/relay-log.md b/tidb-binlog/tidb-binlog-relay-log.md similarity index 100% rename from reference/tidb-binlog/relay-log.md rename to tidb-binlog/tidb-binlog-relay-log.md diff --git a/reference/tidb-binlog/reparo.md b/tidb-binlog/tidb-binlog-reparo.md similarity index 100% rename from reference/tidb-binlog/reparo.md rename to tidb-binlog/tidb-binlog-reparo.md diff --git a/reference/tidb-binlog/troubleshoot/binlog.md b/tidb-binlog/troubleshoot-tidb-binlog.md similarity index 50% rename from reference/tidb-binlog/troubleshoot/binlog.md rename to tidb-binlog/troubleshoot-tidb-binlog.md index 3494e0c83ad3..23534e32a92f 100644 --- a/reference/tidb-binlog/troubleshoot/binlog.md +++ b/tidb-binlog/troubleshoot-tidb-binlog.md @@ -10,10 +10,10 @@ aliases: ['/docs-cn/dev/how-to/troubleshoot/tidb-binlog/'] 如果你在使用 TiDB Binlog 时出现了异常,请尝试以下方式排查问题: -1. 查看各个监控指标是否异常,参见[TiDB Binlog 集群监控](/reference/tidb-binlog/monitor.md)。 +1. 查看各个监控指标是否异常,参见[TiDB Binlog 集群监控](/tidb-binlog/monitor-tidb-binlog-cluster.md)。 -2. 使用 [binlogctl 工具](/reference/tidb-binlog/maintain.md#binlogctl-工具)查看各个 Pump、Drainer 的状态是否有异常。 +2. 使用 [binlogctl 工具](/tidb-binlog/maintain-tidb-binlog-cluster.md#binlogctl-工具)查看各个 Pump、Drainer 的状态是否有异常。 3. 查看 Pump、Drainer 日志中是否有 `ERROR`、`WARN`,并根据详细的日志信息初步判断问题原因。 -通过以上方式定位到问题后,在 [FAQ](/reference/tidb-binlog/faq.md) 以及 [常见错误及修复](/reference/tidb-binlog/troubleshoot/error-handling.md) 中查找解决方案,如果没有查找到解决方案或者提供的解决方案无法解决问题,请提交 [issue](https://github.com/pingcap/tidb-binlog/issues) 或者联系相关技术支持人员。 +通过以上方式定位到问题后,在 [FAQ](/tidb-binlog/tidb-binlog-faq.md) 以及 [常见错误及修复](/tidb-binlog/handle-tidb-binlog-errors.md) 中查找解决方案,如果没有查找到解决方案或者提供的解决方案无法解决问题,请提交 [issue](https://github.com/pingcap/tidb-binlog/issues) 或者联系相关技术支持人员。 diff --git a/reference/tidb-binlog/upgrade.md b/tidb-binlog/upgrade-tidb-binlog.md similarity index 83% rename from reference/tidb-binlog/upgrade.md rename to tidb-binlog/upgrade-tidb-binlog.md index be452465a8aa..3ab28e3bc19d 100644 --- a/reference/tidb-binlog/upgrade.md +++ b/tidb-binlog/upgrade-tidb-binlog.md @@ -6,7 +6,7 @@ aliases: ['/docs-cn/dev/how-to/upgrade/tidb-binlog/','/docs-cn/dev/reference/too # TiDB Binlog 版本升级方法 -如未特别指明,文中出现的 TiDB Binlog 均指最新的 [Cluster](/reference/tidb-binlog/overview.md) 版本。 +如未特别指明,文中出现的 TiDB Binlog 均指最新的 [Cluster](/tidb-binlog/tidb-binlog-overview.md) 版本。 本文会分 TiDB Ansible 部署和手动部署两种情况介绍 TiDB Binlog 版本升级的方法,另外有一小节介绍如何从更早的不兼容版本(Kafka/Local 版本)升级到最新版本。 @@ -41,7 +41,7 @@ aliases: ['/docs-cn/dev/how-to/upgrade/tidb-binlog/','/docs-cn/dev/reference/too ## 从 Kafka/Local 版本升级到 Cluster 版本 -新版本的 TiDB(v2.0.8-binlog、v2.1.0-rc.5 及以上版本)不兼容 [Kafka 版本](/reference/tidb-binlog/tidb-binlog-kafka.md)以及 [Local 版本](/reference/tidb-binlog/tidb-binlog-local.md)的 TiDB Binlog,集群升级到新版本后只能使用 Cluster 版本的 TiDB Binlog。如果在升级前已经使用了 Kafka/Local 版本的 TiDB Binlog,必须将其升级到 Cluster 版本。 +新版本的 TiDB(v2.0.8-binlog、v2.1.0-rc.5 及以上版本)不兼容 [Kafka 版本](https://pingcap.com/docs-cn/v2.1/reference/tidb-binlog/tidb-binlog-kafka/)以及 [Local 版本](https://pingcap.com/docs-cn/v2.1/reference/tidb-binlog/tidb-binlog-local/)的 TiDB Binlog,集群升级到新版本后只能使用 Cluster 版本的 TiDB Binlog。如果在升级前已经使用了 Kafka/Local 版本的 TiDB Binlog,必须将其升级到 Cluster 版本。 TiDB Binlog 版本与 TiDB 版本的对应关系如下: @@ -55,7 +55,7 @@ TiDB Binlog 版本与 TiDB 版本的对应关系如下: > **注意:** > -> 如果能接受重新导全量数据,则可以直接废弃老版本,按 [TiDB Binlog 集群部署](/reference/tidb-binlog/deploy.md)中的步骤重新部署。 +> 如果能接受重新导全量数据,则可以直接废弃老版本,按 [TiDB Binlog 集群部署](/tidb-binlog/deploy-tidb-binlog.md)中的步骤重新部署。 如果想从原来的 checkpoint 继续同步,使用以下升级流程: diff --git a/reference/configuration/tidb-server/configuration-file.md b/tidb-configuration-file.md similarity index 97% rename from reference/configuration/tidb-server/configuration-file.md rename to tidb-configuration-file.md index 5d335a8ed1b5..82a546c60be7 100644 --- a/reference/configuration/tidb-server/configuration-file.md +++ b/tidb-configuration-file.md @@ -20,7 +20,7 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/ + 单条 SQL 语句可以占用的最大内存阈值。 + 默认值:1073741824 + 超过该值的请求会被 `oom-action` 定义的行为所处理。 -+ 该值作为系统变量 [`tidb_mem_quota_query`](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_mem_quota_query) 的初始值。 ++ 该值作为系统变量 [`tidb_mem_quota_query`](/tidb-specific-system-variables.md#tidb_mem_quota_query) 的初始值。 ### `oom-use-tmp-storage` @@ -283,7 +283,7 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/ + TiDB 一个事务允许的最大语句条数限制。 + 默认值:5000 -+ 在一个事务中,超过 `stmt-count-limit` 条语句后还没有 rollback 或者 commit,TiDB 将会返回 `statement count 5001 exceeds the transaction limitation, autocommit = false` 错误。该限制只在可重试的乐观事务中生效,如果使用悲观事务或者关闭了[事务重试](/reference/transactions/transaction-optimistic.md#事务的重试),事务中的语句数将不受此限制。 ++ 在一个事务中,超过 `stmt-count-limit` 条语句后还没有 rollback 或者 commit,TiDB 将会返回 `statement count 5001 exceeds the transaction limitation, autocommit = false` 错误。该限制只在可重试的乐观事务中生效,如果使用悲观事务或者关闭了[事务重试](/optimistic-transaction.md#事务的重试),事务中的语句数将不受此限制。 ### `tcp-keep-alive` @@ -342,7 +342,7 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/ + 设置优化器是否执行将带有 `Distinct` 的聚合函数(比如 `select count(distinct a) from t`)下推到 Coprocessor 的优化操作。 + 默认值:false -+ 该变量作为系统变量 [`tidb_opt_distinct_agg_push_down`](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_opt_distinct_agg_push_down) 的初始值。 ++ 该变量作为系统变量 [`tidb_opt_distinct_agg_push_down`](/tidb-specific-system-variables.md#tidb_opt_distinct_agg_push_down) 的初始值。 ## prepared-plan-cache @@ -495,7 +495,7 @@ TiDB 服务状态相关配置。 ### enable -+ 开启悲观事务支持,悲观事务使用方法请参考 [TiDB 悲观事务模式](/reference/transactions/transaction-pessimistic.md)。 ++ 开启悲观事务支持,悲观事务使用方法请参考 [TiDB 悲观事务模式](/pessimistic-transaction.md)。 + 默认值:true ### max-retry-count diff --git a/reference/tools/tidb-control.md b/tidb-control.md similarity index 100% rename from reference/tools/tidb-control.md rename to tidb-control.md diff --git a/reference/tools/tidb-lightning/deployment.md b/tidb-lightning/deploy-tidb-lightning.md similarity index 90% rename from reference/tools/tidb-lightning/deployment.md rename to tidb-lightning/deploy-tidb-lightning.md index ccf5ca1b7e00..00a3f3f904fc 100644 --- a/reference/tools/tidb-lightning/deployment.md +++ b/tidb-lightning/deploy-tidb-lightning.md @@ -7,7 +7,7 @@ category: reference 本文主要介绍 TiDB Lightning 使用 Importer-backend(默认)进行数据导入的硬件需求,以及使用 TiDB Ansible 部署与手动部署 TiDB Lightning 这两种部署方式。 -如果你不希望影响 TiDB 集群的对外服务,可以参考 [TiDB Lightning TiDB-backend](/reference/tools/tidb-lightning/tidb-backend.md) 中的硬件需求与部署方式进行数据导入。 +如果你不希望影响 TiDB 集群的对外服务,可以参考 [TiDB Lightning TiDB-backend](/tidb-lightning/tidb-lightning-tidb-backend.md) 中的硬件需求与部署方式进行数据导入。 ## 注意事项 @@ -66,11 +66,11 @@ category: reference > > - `tikv-importer` 将中间数据存储缓存到内存上以加速导入过程。占用内存大小可以通过 **(`max-open-engines` × `write-buffer-size` × 2) + (`num-import-jobs` × `region-split-size` × 2)** 计算得来。如果磁盘写入速度慢,缓存可能会带来更大的内存占用。 -此外,目标 TiKV 集群必须有足够空间接收新导入的数据。除了[标准硬件配置](/how-to/deploy/hardware-recommendations.md)以外,目标 TiKV 集群的总存储空间必须大于 **数据源大小 × [副本数量](/faq/tidb.md#326-每个-region-的-replica-数量可配置吗调整的方法是) × 2**。例如集群默认使用 3 副本,那么总存储空间需为数据源大小的 6 倍以上。 +此外,目标 TiKV 集群必须有足够空间接收新导入的数据。除了[标准硬件配置](/hardware-and-software-requirements.md)以外,目标 TiKV 集群的总存储空间必须大于 **数据源大小 × [副本数量](/faq/tidb-faq.md#326-每个-region-的-replica-数量可配置吗调整的方法是) × 2**。例如集群默认使用 3 副本,那么总存储空间需为数据源大小的 6 倍以上。 ## 导出数据 -使用 [`mydumper`](/reference/tools/mydumper.md) 从 MySQL 导出数据,如下: +使用 [`mydumper`](/mydumper-overview.md) 从 MySQL 导出数据,如下: {{< copyable "shell-regular" >}} @@ -86,7 +86,7 @@ category: reference - `-F 256`:将每张表切分成多个文件,每个文件大小约为 256 MB。 - `--skip-tz-utc`:添加这个参数则会忽略掉 TiDB 与导数据的机器之间时区设置不一致的情况,禁止自动转换。 -如果数据源是 CSV 文件,请参考 [CSV 支持](/reference/tools/tidb-lightning/csv.md)获取配置信息。 +如果数据源是 CSV 文件,请参考 [CSV 支持](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md)获取配置信息。 ## 部署 TiDB Lightning @@ -94,7 +94,7 @@ category: reference ### 使用 TiDB Ansible 部署 TiDB Lightning -TiDB Lightning 可随 TiDB 集群一起用 [TiDB Ansible 部署](/how-to/deploy/orchestrated/ansible.md)。 +TiDB Lightning 可随 TiDB 集群一起用 [TiDB Ansible 部署](/online-deployment-using-ansible.md)。 1. 编辑 `inventory.ini`,分别配置一个 IP 来部署 `tidb-lightning` 和 `tikv-importer`。 @@ -181,7 +181,7 @@ TiDB Lightning 可随 TiDB 集群一起用 [TiDB Ansible 部署](/how-to/deploy/ #### 第 2 步:下载 TiDB Lightning 安装包 -在[工具下载](/reference/tools/download.md#tidb-lightning)页面下载 TiDB Lightning 安装包(需选择与 TiDB 集群相同的版本)。 +在[工具下载](/download-ecosystem-tools.md#tidb-lightning)页面下载 TiDB Lightning 安装包(需选择与 TiDB 集群相同的版本)。 #### 第 3 步:启动 `tikv-importer` @@ -214,7 +214,7 @@ TiDB Lightning 可随 TiDB 集群一起用 [TiDB Ansible 部署](/how-to/deploy/ import-dir = "/mnt/ssd/data.import/" ``` - 上面仅列出了 `tikv-importer` 的基本配置。完整配置请参考[`tikv-importer` 配置说明](/reference/tools/tidb-lightning/config.md#tikv-importer)。 + 上面仅列出了 `tikv-importer` 的基本配置。完整配置请参考[`tikv-importer` 配置说明](/tidb-lightning/tidb-lightning-configuration.md#tikv-importer)。 3. 运行 `tikv-importer`。 @@ -261,7 +261,7 @@ TiDB Lightning 可随 TiDB 集群一起用 [TiDB Ansible 部署](/how-to/deploy/ status-port = 10080 ``` - 上面仅列出了 `tidb-lightning` 的基本配置信息。完整配置信息请参考[`tidb-lightning` 配置说明](/reference/tools/tidb-lightning/config.md#tidb-lightning-全局配置)。 + 上面仅列出了 `tidb-lightning` 的基本配置信息。完整配置信息请参考[`tidb-lightning` 配置说明](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-全局配置)。 4. 运行 `tidb-lightning`。如果直接在命令行中用 `nohup` 启动程序,可能会因为 SIGHUP 信号而退出,建议把 `nohup` 放到脚本里面,如: @@ -274,6 +274,6 @@ TiDB Lightning 可随 TiDB 集群一起用 [TiDB Ansible 部署](/how-to/deploy/ ## 升级 TiDB Lightning -你可以通过替换二进制文件升级 TiDB Lightning,无需其他配置。重启 TiDB Lightning 的具体操作参见 [FAQ](/faq/tidb-lightning.md#如何正确重启-tidb-lightning)。 +你可以通过替换二进制文件升级 TiDB Lightning,无需其他配置。重启 TiDB Lightning 的具体操作参见 [FAQ](/tidb-lightning/tidb-lightning-faq.md#如何正确重启-tidb-lightning)。 如果当前有运行的导入任务,推荐任务完成后再升级 TiDB Lightning。否则,你可能需要从头重新导入,因为无法保证断点可以跨版本工作。 diff --git a/reference/tools/tidb-lightning/csv.md b/tidb-lightning/migrate-from-csv-using-tidb-lightning.md similarity index 100% rename from reference/tools/tidb-lightning/csv.md rename to tidb-lightning/migrate-from-csv-using-tidb-lightning.md diff --git a/reference/tools/tidb-lightning/monitor.md b/tidb-lightning/monitor-tidb-lightning.md similarity index 100% rename from reference/tools/tidb-lightning/monitor.md rename to tidb-lightning/monitor-tidb-lightning.md diff --git a/reference/tools/tidb-lightning/checkpoints.md b/tidb-lightning/tidb-lightning-checkpoints.md similarity index 100% rename from reference/tools/tidb-lightning/checkpoints.md rename to tidb-lightning/tidb-lightning-checkpoints.md diff --git a/reference/tools/tidb-lightning/config.md b/tidb-lightning/tidb-lightning-configuration.md similarity index 97% rename from reference/tools/tidb-lightning/config.md rename to tidb-lightning/tidb-lightning-configuration.md index 457b0fce7a72..ffbeb2eff903 100644 --- a/reference/tools/tidb-lightning/config.md +++ b/tidb-lightning/tidb-lightning-configuration.md @@ -10,7 +10,7 @@ category: reference ## 配置文件 -TiDB Lightning 的配置文件分为“全局”和“任务”两种类别,二者在结构上兼容。只有当[服务器模式](/reference/tools/tidb-lightning/web.md)开启时,全局配置和任务配置才会有区别;默认情况下,服务器模式为禁用状态,此时 TiDB Lightning 只会执行一个任务,且全局和任务配置使用同一配置文件。 +TiDB Lightning 的配置文件分为“全局”和“任务”两种类别,二者在结构上兼容。只有当[服务器模式](/tidb-lightning/tidb-lightning-web-interface.md)开启时,全局配置和任务配置才会有区别;默认情况下,服务器模式为禁用状态,此时 TiDB Lightning 只会执行一个任务,且全局和任务配置使用同一配置文件。 ### TiDB Lightning 全局配置 @@ -280,7 +280,7 @@ min-available-ratio = 0.05 | -V | 输出程序的版本 | | | -d *directory* | 读取数据的目录 | `mydumper.data-source-dir` | | -L *level* | 日志的等级: debug、info、warn、error 或 fatal (默认为 info) | `lightning.log-level` | -| --backend *backend* | 选择后端的模式:`importer` 或 [`tidb`](/reference/tools/tidb-lightning/tidb-backend.md) | `tikv-importer.backend` | +| --backend *backend* | 选择后端的模式:`importer` 或 [`tidb`](/tidb-lightning/tidb-lightning-tidb-backend.md) | `tikv-importer.backend` | | --log-file *file* | 日志文件路径 | `lightning.log-file` | | --status-addr *ip:port* | TiDB Lightning 服务器的监听地址 | `lightning.status-port` | | --importer *host:port* | TiKV Importer 的地址 | `tikv-importer.addr` | diff --git a/faq/tidb-lightning.md b/tidb-lightning/tidb-lightning-faq.md similarity index 87% rename from faq/tidb-lightning.md rename to tidb-lightning/tidb-lightning-faq.md index 864038c99cfc..5f3887af18ba 100644 --- a/faq/tidb-lightning.md +++ b/tidb-lightning/tidb-lightning-faq.md @@ -9,7 +9,7 @@ category: FAQ >**注意:** > -> 使用 TiDB Lightning 的过程中如遇错误,参考 [TiDB Lightning 故障诊断](/how-to/troubleshoot/tidb-lightning.md)进行排查。 +> 使用 TiDB Lightning 的过程中如遇错误,参考 [TiDB Lightning 故障诊断](/troubleshoot-tidb-lightning.md)进行排查。 ## TiDB Lightning 对 TiDB/TiKV/PD 的最低版本要求是多少? @@ -29,7 +29,7 @@ TiDB Lightning 需要以下权限: * CREATE * DROP -如果选择 [TiDB-backend](/reference/tools/tidb-lightning/tidb-backend.md) 模式,或目标数据库用于存储断点,则 TiBD Lightning 额外需要以下权限: +如果选择 [TiDB-backend](/tidb-lightning/tidb-lightning-tidb-backend.md) 模式,或目标数据库用于存储断点,则 TiBD Lightning 额外需要以下权限: * INSERT * DELETE @@ -50,7 +50,7 @@ TiDB Lightning 需要以下权限: 1. [结束 `tidb-lightning` 进程](#如何正确结束-tidb-lightning-进程)。 2. 执行修改操作(如修复数据源、更改设置、更换硬件等)。 -3. 如果上面的修改操作更改了任何表,你还需要[清除对应的断点](/reference/tools/tidb-lightning/checkpoints.md#--checkpoint-remove)。 +3. 如果上面的修改操作更改了任何表,你还需要[清除对应的断点](/tidb-lightning/tidb-lightning-checkpoints.md#--checkpoint-remove)。 4. 重启 `tidb-lightning`。 如果 `tikv-importer` 需要重启: @@ -61,7 +61,7 @@ TiDB Lightning 需要以下权限: 4. 重启 `tikv-importer`。 5. 重启 `tidb-lightning` 并等待,**直到程序因校验和错误(如果有的话)而失败**。 * 重启 `tikv-importer` 将清除所有仍在写入的引擎文件,但是 `tidb-lightning` 并不会感知到该操作。从 v3.0 开始,最简单的方法是让 `tidb-lightning` 继续,然后再重试。 -6. [清除失败的表及断点](/how-to/troubleshoot/tidb-lightning.md#checkpoint-for--has-invalid-status错误码)。 +6. [清除失败的表及断点](/troubleshoot-tidb-lightning.md#checkpoint-for--has-invalid-status错误码)。 7. 再次重启 `tidb-lightning`。 ## 如何校验导入的数据的正确性? @@ -89,8 +89,8 @@ ADMIN CHECKSUM TABLE `schema`.`table`; TiDB Lightning 只支持两种格式的数据源: -1. [Mydumper](/reference/tools/mydumper.md) 生成的 SQL dump -2. 储存在本地文件系统的 [CSV](/reference/tools/tidb-lightning/csv.md) 文件 +1. [Mydumper](/mydumper-overview.md) 生成的 SQL dump +2. 储存在本地文件系统的 [CSV](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md) 文件 ## 我已经在下游创建好库和表了,TiDB Lightning 可以忽略建库建表操作吗? @@ -137,7 +137,7 @@ sql-mode = "" [2018/08/10 07:29:08.310 +08:00] [INFO] [main.go:41] ["got signal to exit"] [signal=hangup] ``` -不推荐在命令行中直接使用 `nohup` 启动进程,推荐[使用脚本启动 `tidb-lightning`](/reference/tools/tidb-lightning/deployment.md)。 +不推荐在命令行中直接使用 `nohup` 启动进程,推荐[使用脚本启动 `tidb-lightning`](/tidb-lightning/deploy-tidb-lightning.md)。 ## 为什么用过 TiDB Lightning 之后,TiDB 集群变得又慢又耗 CPU? @@ -153,7 +153,7 @@ tidb-lightning-ctl --switch-mode=normal 使用 TiDB Lightning 建议配置万兆网卡。**不推荐**使用千兆网卡,尤其是在部署 `tikv-importer` 的机器上。 -千兆网卡的总带宽只有 120 MB/s,而且需要与整个 TiKV 集群共享。在使用 TiDB Lightning 导入时,极易用尽所有带宽,继而因 PD 无法联络集群使集群断连。为了避免这种情况,你可以在 [`tikv-importer` 的配置文件](/reference/tools/tidb-lightning/config.md#tikv-importer-配置参数)中**限制上传速度**。 +千兆网卡的总带宽只有 120 MB/s,而且需要与整个 TiKV 集群共享。在使用 TiDB Lightning 导入时,极易用尽所有带宽,继而因 PD 无法联络集群使集群断连。为了避免这种情况,你可以在 [`tikv-importer` 的配置文件](/tidb-lightning/tidb-lightning-configuration.md#tikv-importer-配置参数)中**限制上传速度**。 ```toml [import] @@ -171,7 +171,7 @@ upload-speed-limit = "100MB" ## TiDB Lightning 使用过程中是否可以重启 TiKV Importer? -不能,Importer 会在内存中存储一些引擎文件,Importer 重启后,`tidb-lightning` 会因连接失败而停止。此时,你需要[清除失败的断点](/reference/tools/tidb-lightning/checkpoints.md#--checkpoint-error-destroy),因为这些 Importer 特有的信息丢失了。你可以在之后[重启 Lightning](#如何正确重启-tidb-lightning)。 +不能,Importer 会在内存中存储一些引擎文件,Importer 重启后,`tidb-lightning` 会因连接失败而停止。此时,你需要[清除失败的断点](/tidb-lightning/tidb-lightning-checkpoints.md#--checkpoint-error-destroy),因为这些 Importer 特有的信息丢失了。你可以在之后[重启 Lightning](#如何正确重启-tidb-lightning)。 ## 如何清除所有与 TiDB Lightning 相关的中间数据? diff --git a/reference/tools/tidb-lightning/glossary.md b/tidb-lightning/tidb-lightning-glossary.md similarity index 89% rename from reference/tools/tidb-lightning/glossary.md rename to tidb-lightning/tidb-lightning-glossary.md index 83d7b6d942d3..83d3c28c6ff9 100644 --- a/reference/tools/tidb-lightning/glossary.md +++ b/tidb-lightning/tidb-lightning-glossary.md @@ -14,7 +14,7 @@ category: glossary ### Analyze -统计信息分析。指重建 TiDB 表中的统计信息,即运行 [`ANALYZE TABLE`](/reference/sql/statements/analyze-table.md) 语句。 +统计信息分析。指重建 TiDB 表中的统计信息,即运行 [`ANALYZE TABLE`](/sql-statements/sql-statement-analyze-table.md) 语句。 因为 TiDB Lightning 不通过 TiDB 导入数据,统计信息不会自动更新,所以 TiDB Lightning 在导入后显式地分析每个表。如果不需要该操作,可以将 `post-restore.analyze` 设置为 `false`。 @@ -32,13 +32,13 @@ category: glossary 也称作 Back end(后端),用于接受 TiDB Lightning 解析结果。 -详情参阅 [TiDB Lightning TiDB-backend](/reference/tools/tidb-lightning/tidb-backend.md)。 +详情参阅 [TiDB Lightning TiDB-backend](/tidb-lightning/tidb-lightning-tidb-backend.md)。 ### Black-white list 黑白名单配置列表。用于指定要导入、忽略哪些表和库。 -详情参阅 [TiDB Lightning 表库过滤](/reference/tools/tidb-lightning/table-filter.md)。 +详情参阅 [TiDB Lightning 表库过滤](/tidb-lightning/tidb-lightning-table-filter.md)。 @@ -48,11 +48,11 @@ category: glossary 断点。用于保证 TiDB Lightning 在导入数据时不断地将进度保存到本地文件或远程数据库中。这样即使进程崩溃,TiDB Lightning 也能从中间状态恢复。 -详情参见 [TiDB Lightning 断点续传](/reference/tools/tidb-lightning/checkpoints.md)。 +详情参见 [TiDB Lightning 断点续传](/tidb-lightning/tidb-lightning-checkpoints.md)。 ### Checksum -校验和。一种用于[验证导入数据正确性](/faq/tidb-lightning.md#如何校验导入的数据的正确性)的方法。 +校验和。一种用于[验证导入数据正确性](/tidb-lightning/tidb-lightning-faq.md#如何校验导入的数据的正确性)的方法。 在 TiDB Lightning 中,表的校验和是由 3 个数字组成的集合,由该表中每个键值对的内容计算得出。这些数字分别是: @@ -62,7 +62,7 @@ category: glossary TiDB Lightning 通过比较每个表的[本地校验和](#local-checksum)和[远程校验和](#remote-checksum)来验证导入数据的正确性。如果有任一对校验和不匹配,导入进程就会停止。如果你需要跳过校验和检查,可以将 `post-restore.checksum` 设置为 `false` 。 -遇到校验和不匹配的问题时,参考[故障排查](/how-to/troubleshoot/tidb-lightning.md#checksum-failed-checksum-mismatched-remote-vs-local)进行处理。 +遇到校验和不匹配的问题时,参考[故障排查](/troubleshoot-tidb-lightning.md#checksum-failed-checksum-mismatched-remote-vs-local)进行处理。 ### Chunk @@ -112,7 +112,7 @@ TiDB Lightning 通过引擎将数据传送到 TiKV Importer 中。Lightning 先 导入模式。指通过降低读取速度和减少空间使用,来优化 TiKV 写入的配置模式。 -导入过程中,TiDB Lightning 自动在导入模式和[普通模式](#normal-mode)中来回切换。如果 TiKV 卡在导入模式,你可以使用 `tidb-lightning-ctl` [强制切换回普通模式](/faq/tidb-lightning.md#为什么用过-tidb-lightning-之后tidb-集群变得又慢又耗-cpu)。 +导入过程中,TiDB Lightning 自动在导入模式和[普通模式](#normal-mode)中来回切换。如果 TiKV 卡在导入模式,你可以使用 `tidb-lightning-ctl` [强制切换回普通模式](/tidb-lightning/tidb-lightning-faq.md#为什么用过-tidb-lightning-之后tidb-集群变得又慢又耗-cpu)。 ### Index engine diff --git a/reference/tools/error-case-handling/lightning-misuse-handling.md b/tidb-lightning/tidb-lightning-misuse-handling.md similarity index 81% rename from reference/tools/error-case-handling/lightning-misuse-handling.md rename to tidb-lightning/tidb-lightning-misuse-handling.md index d9dfd46345d4..5d4867a6c2a5 100644 --- a/reference/tools/error-case-handling/lightning-misuse-handling.md +++ b/tidb-lightning/tidb-lightning-misuse-handling.md @@ -5,7 +5,7 @@ category: reference # TiDB Lightning 常见的错误用法 -本文介绍了 [TiDB Lightning](/reference/tools/tidb-lightning/overview.md) 使用过程中常见的出错场景以及相应的处理方式。 +本文介绍了 [TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md) 使用过程中常见的出错场景以及相应的处理方式。 ## 报错:`checksum mismatched remote vs local` @@ -17,7 +17,7 @@ Error: checksum mismatched remote vs local => (checksum: 3828723015727756136 vs ### 原因 -* 先前使用过 TiDB Lightning 进行数据导入,但是对应的 [checkpoint](/reference/tools/tidb-lightning/checkpoints.md) 的数据没有被清理,存在残留的数据。可以通过查看 TiDB Lightning 第一次启动 log 来确认: +* 先前使用过 TiDB Lightning 进行数据导入,但是对应的 [checkpoint](/tidb-lightning/tidb-lightning-checkpoints.md) 的数据没有被清理,存在残留的数据。可以通过查看 TiDB Lightning 第一次启动 log 来确认: * `[checkpoint] driver = file`,如果对应 TiDB Lightning 导入时间点的 log 存在 `open checkpoint file failed, going to create a new one`,那么 `checkpoint` 已经被正确清理,否则存在残留数据可能导致导入数据缺失; * `[checkpoint] driver = mysql`,可以通过使用 TiDB API `curl http://{TiDBIP}:10080/schema/{checkpoint.schema}/{checkpoint.table}` 来查询对应 `checkpoint table` 的创建时间,从而判断是否正确清理了 `checkpoint`。 diff --git a/reference/tools/tidb-lightning/overview.md b/tidb-lightning/tidb-lightning-overview.md similarity index 93% rename from reference/tools/tidb-lightning/overview.md rename to tidb-lightning/tidb-lightning-overview.md index 31c8f9158bc6..45cc915d77af 100644 --- a/reference/tools/tidb-lightning/overview.md +++ b/tidb-lightning/tidb-lightning-overview.md @@ -5,7 +5,7 @@ category: reference # TiDB Lightning 简介 -TiDB Lightning 是一个将全量数据高速导入到 TiDB 集群的工具,可[在此下载](/reference/tools/download.md#tidb-lightning)。 +TiDB Lightning 是一个将全量数据高速导入到 TiDB 集群的工具,可[在此下载](/download-ecosystem-tools.md#tidb-lightning)。 TiDB Lightning 有以下两个主要的使用场景:一是大量新数据的快速导入;二是全量数据的备份恢复。目前,Lightning 支持 Mydumper 或 CSV 输出格式的数据源。你可以在以下两种场景下使用 Lightning: @@ -37,8 +37,8 @@ TiDB Lightning 整体工作原理如下: 6. 整张表相关联的所有引擎文件完成导入后,`tidb-lightning` 会对比本地数据源及下游集群的校验和 (checksum),确保导入的数据无损,然后让 TiDB 分析 (`ANALYZE`) 这些新增的数据,以优化日后的操作。同时,`tidb-lightning` 调整 `AUTO_INCREMENT` 值防止之后新增数据时发生冲突。 - 表的自增 ID 是通过行数的**上界**估计值得到的,与表的数据文件总大小成正比。因此,最后的自增 ID 通常比实际行数大得多。这属于正常现象,因为在 TiDB 中自增 ID [不一定是连续分配的](/reference/mysql-compatibility.md#auto-increment-id)。 + 表的自增 ID 是通过行数的**上界**估计值得到的,与表的数据文件总大小成正比。因此,最后的自增 ID 通常比实际行数大得多。这属于正常现象,因为在 TiDB 中自增 ID [不一定是连续分配的](/mysql-compatibility.md#auto-increment-id)。 7. 在所有步骤完毕后,`tidb-lightning` 自动将 TiKV 切换回“普通模式” (normal mode),此后 TiDB 集群可以正常对外提供服务。 -TiDB Lightning 还支持使用 TiDB-backend 作为后端导入数据。和 Loader 类似,使用 TiDB-backend 时,`tidb-lightning` 将数据转换为 `INSERT` 语句,然后直接在目标集群上执行这些语句。详见 [TiDB Lightning TiDB-backend](/reference/tools/tidb-lightning/tidb-backend.md)。 +TiDB Lightning 还支持使用 TiDB-backend 作为后端导入数据。和 Loader 类似,使用 TiDB-backend 时,`tidb-lightning` 将数据转换为 `INSERT` 语句,然后直接在目标集群上执行这些语句。详见 [TiDB Lightning TiDB-backend](/tidb-lightning/tidb-lightning-tidb-backend.md)。 diff --git a/reference/tools/tidb-lightning/table-filter.md b/tidb-lightning/tidb-lightning-table-filter.md similarity index 100% rename from reference/tools/tidb-lightning/table-filter.md rename to tidb-lightning/tidb-lightning-table-filter.md diff --git a/reference/tools/tidb-lightning/tidb-backend.md b/tidb-lightning/tidb-lightning-tidb-backend.md similarity index 91% rename from reference/tools/tidb-lightning/tidb-backend.md rename to tidb-lightning/tidb-lightning-tidb-backend.md index a9ff970e38dc..4d730e61c88e 100644 --- a/reference/tools/tidb-lightning/tidb-backend.md +++ b/tidb-lightning/tidb-lightning-tidb-backend.md @@ -21,7 +21,7 @@ TiDB Lightning 的后端决定 `tidb-lightning` 将如何把将数据导入到 ## 部署 TiDB-backend -使用 TiDB-backend 时,你无需部署 `tikv-importer`。与[标准部署过程](/reference/tools/tidb-lightning/deployment.md)相比,部署 TiDB-backend 时有如下不同: +使用 TiDB-backend 时,你无需部署 `tikv-importer`。与[标准部署过程](/tidb-lightning/deploy-tidb-lightning.md)相比,部署 TiDB-backend 时有如下不同: * 可以跳过所有涉及 `tikv-importer` 的步骤。 * 必须更改相应配置申明使用的是 TiDB-backend。 @@ -67,7 +67,7 @@ TiDB Lightning 的后端决定 `tidb-lightning` 将如何把将数据导入到 ### 手动部署 -手动部署时,你无需下载和配置 `tikv-importer`,TiDB Lightning 可[在此下载](/reference/tools/download.md#tidb-lightning)。 +手动部署时,你无需下载和配置 `tikv-importer`,TiDB Lightning 可[在此下载](/download-ecosystem-tools.md#tidb-lightning)。 在运行 `tidb-lightning` 之前,在配置文件中加上如下几行: @@ -96,7 +96,7 @@ on-duplicate = "replace" # 或者 “error”、“ignore” ## 从 Loader 迁移到 TiDB Lightning TiDB-backend -TiDB Lightning TiDB-backend 可以完全取代 [Loader](/reference/tools/loader.md)。下表说明了如何将 [Loader](/reference/tools/loader.md) 的配置迁移到 [TiDB Lightning 配置](/reference/tools/tidb-lightning/config.md)中: +TiDB Lightning TiDB-backend 可以完全取代 [Loader](/loader-overview.md)。下表说明了如何将 [Loader](/loader-overview.md) 的配置迁移到 [TiDB Lightning 配置](/tidb-lightning/tidb-lightning-configuration.md)中: diff --git a/reference/tools/tidb-lightning/web.md b/tidb-lightning/tidb-lightning-web-interface.md similarity index 94% rename from reference/tools/tidb-lightning/web.md rename to tidb-lightning/tidb-lightning-web-interface.md index 6fca77f1a1d2..191892adf2a7 100644 --- a/reference/tools/tidb-lightning/web.md +++ b/tidb-lightning/tidb-lightning-web-interface.md @@ -57,7 +57,7 @@ TiDB Lightning 启动后,可以访问 `http://127.0.0.1:8289` 来管理程序 ![提交任务对话框](/media/lightning-web-submit.png) -任务 (task) 为 TOML 格式的文件,具体参考 [TiDB Lightning 任务配置](/reference/tools/tidb-lightning/config.md#tidb-lightning-任务配置参数)。你也可以点击 **UPLOAD** 上传一个本地的 TOML 文件。 +任务 (task) 为 TOML 格式的文件,具体参考 [TiDB Lightning 任务配置](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置参数)。你也可以点击 **UPLOAD** 上传一个本地的 TOML 文件。 点击 **SUBMIT** 运行任务。如果当前有任务正在运行,新增任务会加入队列并在当前任务结束后执行。 diff --git a/how-to/monitor/overview.md b/tidb-monitoring-framework.md similarity index 100% rename from how-to/monitor/overview.md rename to tidb-monitoring-framework.md diff --git a/reference/configuration/tidb-server/tidb-specific-variables.md b/tidb-specific-system-variables.md similarity index 98% rename from reference/configuration/tidb-server/tidb-specific-variables.md rename to tidb-specific-system-variables.md index 686eaf20908b..6ef595e15926 100644 --- a/reference/configuration/tidb-server/tidb-specific-variables.md +++ b/tidb-specific-system-variables.md @@ -260,7 +260,7 @@ mysql> desc select count(distinct a) from test.t; 默认值:1 GB 这个变量用来设置一条查询语句的内存使用阈值。 -如果一条查询语句执行过程中使用的内存空间超过该阈值,会触发 TiDB 启动配置文件中 OOMAction 项所指定的行为。该变量的初始值由配置项 [`mem-quota-query`](/reference/configuration/tidb-server/configuration-file.md#mem-quota-query) 配置。 +如果一条查询语句执行过程中使用的内存空间超过该阈值,会触发 TiDB 启动配置文件中 OOMAction 项所指定的行为。该变量的初始值由配置项 [`mem-quota-query`](/tidb-configuration-file.md#mem-quota-query) 配置。 ### tidb_mem_quota_hashjoin @@ -362,7 +362,7 @@ mysql> desc select count(distinct a) from test.t; 这个变量不会影响自动提交的隐式事务和 TiDB 内部执行的事务,它们依旧会根据 `tidb_retry_limit` 的值来决定最大重试次数。 -是否需要禁用自动重试,请参考[重试的局限性](/reference/transactions/transaction-optimistic.md#重试的局限性)。 +是否需要禁用自动重试,请参考[重试的局限性](/optimistic-transaction.md#重试的局限性)。 ### tidb_backoff_weight @@ -521,11 +521,11 @@ set tidb_query_log_max_len = 20; 默认值:"pessimistic" -这个变量用于设置事务模式。TiDB v3.0 支持了悲观事务,自 v3.0.8 开始,默认使用[悲观事务模式](/reference/transactions/transaction-pessimistic.md)。 +这个变量用于设置事务模式。TiDB v3.0 支持了悲观事务,自 v3.0.8 开始,默认使用[悲观事务模式](/pessimistic-transaction.md)。 但如果从 3.0.7 及之前的版本升级到 >= 3.0.8 的版本,不会改变默认事务模型,即**只有新创建的集群才会默认使用悲观事务模型**。 -将该变量设置为 "optimistic" 或 "" 时,将会使用[乐观事务模式](/reference/transactions/transaction-optimistic.md)。 +将该变量设置为 "optimistic" 或 "" 时,将会使用[乐观事务模式](/optimistic-transaction.md)。 ### tidb_constraint_check_in_place @@ -588,7 +588,7 @@ ERROR 1062 : Duplicate entry '1' for key 'PRIMARY' 这个变量用来设置是否开启对字符集为 UTF8 类型的数据做合法性检查,默认值 `1` 表示开启检查。这个默认行为和 MySQL 是兼容的。 -注意,如果是旧版本升级时,可能需要关闭该选项,否则由于旧版本(v2.1.1 以及之前)没有对数据做合法性检查,所以旧版本写入非法字符串是可以写入成功的,但是新版本加入合法性检查后会报写入失败。具体可以参考[升级后常见问题](/faq/upgrade.md)。 +注意,如果是旧版本升级时,可能需要关闭该选项,否则由于旧版本(v2.1.1 以及之前)没有对数据做合法性检查,所以旧版本写入非法字符串是可以写入成功的,但是新版本加入合法性检查后会报写入失败。具体可以参考[升级后常见问题](/faq/upgrade-faq.md)。 ### tidb_opt_insubq_to_join_and_agg @@ -658,7 +658,7 @@ select * from t, t1 where t.a=t1.a; 默认值:"" -查询 `INFORMATION_SCHEMA.SLOW_QUERY` 只会解析配置文件中 `slow-query-file` 设置的慢日志文件名,默认是 "tidb-slow.log"。但如果想要解析其他的日志文件,可以通过设置 session 变量 `tidb_slow_query_file` 为具体的文件路径,然后查询 `INFORMATION_SCHEMA.SLOW_QUERY` 就会按照设置的路径去解析慢日志文件。更多详情可以参考 [SLOW_QUERY 文档](/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md)。 +查询 `INFORMATION_SCHEMA.SLOW_QUERY` 只会解析配置文件中 `slow-query-file` 设置的慢日志文件名,默认是 "tidb-slow.log"。但如果想要解析其他的日志文件,可以通过设置 session 变量 `tidb_slow_query_file` 为具体的文件路径,然后查询 `INFORMATION_SCHEMA.SLOW_QUERY` 就会按照设置的路径去解析慢日志文件。更多详情可以参考 [SLOW_QUERY 文档](/identify-slow-queries.md)。 ### tidb_enable_fast_analyze diff --git a/how-to/troubleshoot/diagnose-map.md b/tidb-troubleshooting-map.md similarity index 96% rename from how-to/troubleshoot/diagnose-map.md rename to tidb-troubleshooting-map.md index ee60deab8502..b884044fb80a 100644 --- a/how-to/troubleshoot/diagnose-map.md +++ b/tidb-troubleshooting-map.md @@ -156,7 +156,7 @@ category: how-to - v3.0 及以上版本可以使用 `SQL Bind` 功能固定执行计划。 - - 更新统计信息。在大致确定问题是由统计信息导致的情况下,先 [dump 统计信息](/reference/performance/statistics.md#导出统计信息)保留现场。如果是由于统计信息过期导致,例如 `show stats_meta` 中 modify count/row count 大于某个值(例如 0.3)或者表中存在时间列的索引情况下,可以先尝试 analyze table 恢复;如果配置了 auto analyze,可以查看系统变量 `tidb_auto_analyze_ratio` 是否过大(例如大于 0.3),以及当前时间是否在 `tidb_auto_analyze_start_time` 和 `tidb_auto_analyze_end_time` 范围内。 + - 更新统计信息。在大致确定问题是由统计信息导致的情况下,先 [dump 统计信息](/statistics.md#导出统计信息)保留现场。如果是由于统计信息过期导致,例如 `show stats_meta` 中 modify count/row count 大于某个值(例如 0.3)或者表中存在时间列的索引情况下,可以先尝试 analyze table 恢复;如果配置了 auto analyze,可以查看系统变量 `tidb_auto_analyze_ratio` 是否过大(例如大于 0.3),以及当前时间是否在 `tidb_auto_analyze_start_time` 和 `tidb_auto_analyze_end_time` 范围内。 - 其他情况,请[上报 bug](https://github.com/pingcap/tidb/issues/new?labels=type%2Fbug&template=bug-report.md)。 @@ -393,7 +393,7 @@ category: how-to - Pump 启动时需要通知所有 Online 状态的 Drainer,如果通知失败则会打印该错误日志。 - - 可以使用 binlogctl 工具查看所有 Drainer 的状态是否有异常,保证 Online 状态的 Drainer 都在正常工作。如果某个 Drainer 的状态和实际运行情况不一致,则使用 binlogctl 修改状态,然后再重启 Pump。见案例 [fail-to-notify-all-living-drainer](/reference/tidb-binlog/troubleshoot/error-handling.md#pump-启动时报错-fail-to-notify-all-living-drainer)。 + - 可以使用 binlogctl 工具查看所有 Drainer 的状态是否有异常,保证 Online 状态的 Drainer 都在正常工作。如果某个 Drainer 的状态和实际运行情况不一致,则使用 binlogctl 修改状态,然后再重启 Pump。见案例 [fail-to-notify-all-living-drainer](/tidb-binlog/handle-tidb-binlog-errors.md#pump-启动时报错-fail-to-notify-all-living-drainer)。 - 6.1.9 Drainer 报错 `gen update sqls failed: table xxx: row data is corruption []`。 @@ -484,31 +484,31 @@ category: how-to - 自增 (AUTO_INCREMENT) 的列需要为正数,不能为 0。 - 单一键和主键 (UNIQUE and PRIMARY KEYs) 不能有重复的值。 - - 解决办法:参考[官网步骤处理](/how-to/troubleshoot/tidb-lightning.md#checksum-failed-checksum-mismatched-remote-vs-local)。 + - 解决办法:参考[官网步骤处理](/troubleshoot-tidb-lightning.md#checksum-failed-checksum-mismatched-remote-vs-local)。 - 6.3.4 `Checkpoint for … has invalid status:(错误码)` - 原因:断点续传已启用。Lightning 或 Importer 之前发生了异常退出。为了防止数据意外损坏,Lightning 在错误解决以前不会启动。错误码是小于 25 的整数,可能的取值是 0、3、6、9、12、14、15、17、18、20、21。整数越大,表示异常退出所发生的步骤在导入流程中越晚。 - - 解决办法:参考[官网步骤](/how-to/troubleshoot/tidb-lightning.md#checkpoint-for--has-invalid-status错误码)处理。 + - 解决办法:参考[官网步骤](/troubleshoot-tidb-lightning.md#checkpoint-for--has-invalid-status错误码)处理。 - 6.3.5 `ResourceTemporarilyUnavailable("Too many open engines …: 8")` - 原因:并行打开的引擎文件 (engine files) 超出 tikv-importer 里的限制。这可能由配置错误引起。即使配置没问题,如果 tidb-lightning 曾经异常退出,也有可能令引擎文件残留在打开的状态,占据可用的数量。 - - 解决办法:参考[官网步骤处理](/how-to/troubleshoot/tidb-lightning.md#resourcetemporarilyunavailabletoo-many-open-engines--8)。 + - 解决办法:参考[官网步骤处理](/troubleshoot-tidb-lightning.md#resourcetemporarilyunavailabletoo-many-open-engines--8)。 - 6.3.6 `cannot guess encoding for input file, please convert to UTF-8 manually` - 原因:Lightning 只支持 UTF-8 和 GB-18030 编码的表架构。此错误代表数据源不是这里任一个编码。也有可能是文件中混合了不同的编码,例如在不同的环境运行过 `ALTER TABLE`,使表架构同时出现 UTF-8 和 GB-18030 的字符。 - - 解决办法:参考[官网步骤](/how-to/troubleshoot/tidb-lightning.md#cannot-guess-encoding-for-input-file-please-convert-to-utf-8-manually)处理。 + - 解决办法:参考[官网步骤](/troubleshoot-tidb-lightning.md#cannot-guess-encoding-for-input-file-please-convert-to-utf-8-manually)处理。 - 6.3.7 `[sql2kv] sql encode error = [types:1292]invalid time format: '{1970 1 1 0 45 0 0}'` - 原因:一个 timestamp 类型的时间戳记录了不存在的时间值。时间值不存在是由于夏令时切换或超出支持的范围(1970 年 1 月 1 日至 2038 年 1 月 19 日)。 - - 解决办法:参考[官网步骤](/how-to/troubleshoot/tidb-lightning.md#sql2kv-sql-encode-error--types1292invalid-time-format-1970-1-1-0-45-0-0)处理。 + - 解决办法:参考[官网步骤](/troubleshoot-tidb-lightning.md#sql2kv-sql-encode-error--types1292invalid-time-format-1970-1-1-0-45-0-0)处理。 ## 7. 常见日志分析 diff --git a/reference/tiflash/deploy.md b/tiflash/deploy-tiflash.md similarity index 88% rename from reference/tiflash/deploy.md rename to tiflash/deploy-tiflash.md index 1842595a0333..ccb949dd1759 100644 --- a/reference/tiflash/deploy.md +++ b/tiflash/deploy-tiflash.md @@ -24,11 +24,11 @@ category: reference 推荐用一个 SSD 盘来缓冲 TiKV 同步数据的实时写入,该盘性能不低于 TiKV 所使用的硬盘,建议是性能更好的 NVMe SSD。该 SSD 盘容量建议不小于总容量的 10%,否则它可能成为这个节点的能承载的数据量的瓶颈。而其他硬盘,可以选择部署多块 HDD 或者普通 SSD,当然更好的硬盘会带来更好的性能。 -TiFlash 支持[多盘部署](/reference/tiflash/configuration.md#多盘部署),所以无需使用 RAID。 +TiFlash 支持[多盘部署](/tiflash/tiflash-configuration.md#多盘部署),所以无需使用 RAID。 ### TiFlash 和 TiKV 部署在相同节点模式 -参考 [TiKV 节点的硬件配置](/how-to/deploy/hardware-recommendations.md#服务器建议配置),并且适当增加内存和 CPU 核数。 +参考 [TiKV 节点的硬件配置](/hardware-and-software-requirements.md#服务器建议配置),并且适当增加内存和 CPU 核数。 建议不要将 TiFlash 与 TiKV 同盘部署,以防互相干扰。 @@ -54,7 +54,7 @@ TiFlash 支持[多盘部署](/reference/tiflash/configuration.md#多盘部署) TiUP Cluster 是适用于 TiDB 4.0 及以上版本的部署工具,目前推荐使用 TiUP Cluster 安装部署 TiFlash,部署流程如下: -1. 参考 [TiUP 部署文档](/how-to/deploy/orchestrated/tiup.md)安装 TiUP。 +1. 参考 [TiUP 部署文档](/production-deployment-using-tiup.md)安装 TiUP。 2. 安装 TiUP cluster 组件 @@ -96,7 +96,7 @@ TiUP Cluster 是适用于 TiDB 4.0 及以上版本的部署工具,目前推荐 - host: 172.19.0.103 ``` - 如果希望自定义部署目录,需要配置 data_dir 参数,不需要则不加。如果希望[多盘部署](/reference/tiflash/configuration.md#多盘部署),则以逗号分隔各部署目录,例如: + 如果希望自定义部署目录,需要配置 data_dir 参数,不需要则不加。如果希望[多盘部署](/tiflash/tiflash-configuration.md#多盘部署),则以逗号分隔各部署目录,例如: {{< copyable "" >}} @@ -138,4 +138,4 @@ TiUP Cluster 是适用于 TiDB 4.0 及以上版本的部署工具,目前推荐 2. 在 pd-ctl(目前 pd-ctl 还没有接入 TiUP Cluster,需要从 [这里](https://download.pingcap.org/tidb-v4.0.0-rc-linux-amd64.tar.gz) 手动进行下载)中输入 `config set enable-placement-rules true` 命令,以开启 PD 的 Placement Rules 功能。 -3. 参考 [扩容 TiFlash 节点](/how-to/scale/with-tiup.md#2-扩容-tiflash-节点) 章节对 TiFlash 进行部署。 +3. 参考 [扩容 TiFlash 节点](/scale-tidb-using-tiup.md#2-扩容-tiflash-节点) 章节对 TiFlash 进行部署。 diff --git a/reference/tiflash/maintain.md b/tiflash/maintain-tiflash.md similarity index 88% rename from reference/tiflash/maintain.md rename to tiflash/maintain-tiflash.md index 38561c84a806..a678971cd4f4 100644 --- a/reference/tiflash/maintain.md +++ b/tiflash/maintain-tiflash.md @@ -23,7 +23,7 @@ category: reference LD_LIBRARY_PATH=./ ./tiflash version ``` -- 在 TiFlash 日志(日志路径见[配置文件 tiflash.toml [logger] 部分](/reference/tiflash/configuration.md#配置文件-tiflashtoml))中查看 TiFlash 版本,例如: +- 在 TiFlash 日志(日志路径见[配置文件 tiflash.toml [logger] 部分](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml))中查看 TiFlash 版本,例如: ``` : TiFlash version: TiFlash 0.2.0 master-375035282451103999f3863c691e2fc2 @@ -31,7 +31,7 @@ category: reference ## 下线 TiFlash 节点 -下线 TiFlash 节点与[缩容 TiFlash 节点](/how-to/scale/with-tiup.md#4-缩容-tiflash-节点)不同,下线 TiFlash 并不会在 TiDB Ansible 中删除这个节点,而仅仅是安全地关闭这个进程。 +下线 TiFlash 节点与[缩容 TiFlash 节点](/scale-tidb-using-tiup.md#4-缩容-tiflash-节点)不同,下线 TiFlash 并不会在 TiDB Ansible 中删除这个节点,而仅仅是安全地关闭这个进程。 下线 TiFlash 节点的步骤如下: @@ -47,9 +47,9 @@ category: reference alter table . set tiflash replica 0; ``` -2. 等待相关表的 TiFlash 副本被删除(按照[查看表同步进度](/reference/tiflash/use-tiflash.md#查看表同步进度)一节操作,查不到相关表的同步信息时即为副本被删除)。 +2. 等待相关表的 TiFlash 副本被删除(按照[查看表同步进度](/tiflash/use-tiflash.md#查看表同步进度)一节操作,查不到相关表的同步信息时即为副本被删除)。 -3. 在 [pd-ctl](/reference/tools/pd-control.md) (tidb-ansible 目录下的 `resources/bin` 包含对应的二进制文件) 中输入 store 命令,查看该 TiFlash 节点对应的 store id。 +3. 在 [pd-ctl](/pd-control.md) (tidb-ansible 目录下的 `resources/bin` 包含对应的二进制文件) 中输入 store 命令,查看该 TiFlash 节点对应的 store id。 4. 在 pd-ctl 中输入 `store delete `,其中 为上一步查到的该 TiFlash 节点对应的 store id。 @@ -108,7 +108,7 @@ category: reference 该问题一般由于配置错误或者环境问题导致 TiFlash 处于异常状态,可以先通过以下步骤定位问题组件: -1. 检查 PD 是否开启 Placement Rules 功能(开启方法见[在原有 TiDB 集群上新增 TiFlash 组件](/reference/tiflash/deploy.md#在原有-tidb-集群上新增-tiflash-组件)的第 2 步): +1. 检查 PD 是否开启 Placement Rules 功能(开启方法见[在原有 TiDB 集群上新增 TiFlash 组件](/tiflash/deploy-tiflash.md#在原有-tidb-集群上新增-tiflash-组件)的第 2 步): {{< copyable "shell-regular" >}} @@ -160,7 +160,7 @@ category: reference 可依照如下步骤进行处理: -1. 参照[下线 TiFlash 节点](/reference/tiflash/maintain.md#下线-tiflash-节点)一节下线对应的 TiFlash 节点。 +1. 参照[下线 TiFlash 节点](/tiflash/maintain-tiflash.md#下线-tiflash-节点)一节下线对应的 TiFlash 节点。 2. 清除该 TiFlash 节点的相关数据。 3. 重新在集群中部署 TiFlash 节点。 diff --git a/reference/tiflash/monitor.md b/tiflash/monitor-tiflash.md similarity index 100% rename from reference/tiflash/monitor.md rename to tiflash/monitor-tiflash.md diff --git a/reference/tiflash/alert-rules.md b/tiflash/tiflash-alert-rules.md similarity index 100% rename from reference/tiflash/alert-rules.md rename to tiflash/tiflash-alert-rules.md diff --git a/reference/tiflash/configuration.md b/tiflash/tiflash-configuration.md similarity index 85% rename from reference/tiflash/configuration.md rename to tiflash/tiflash-configuration.md index 780dcf046110..c6f4055e9c85 100644 --- a/reference/tiflash/configuration.md +++ b/tiflash/tiflash-configuration.md @@ -9,15 +9,15 @@ category: reference ## PD 调度参数 -可通过 [pd-ctl](/reference/tools/pd-control.md)(tidb-ansible 目录下的 `resources/bin` 包含对应的二进制文件)调整参数: +可通过 [pd-ctl](/pd-control.md)(tidb-ansible 目录下的 `resources/bin` 包含对应的二进制文件)调整参数: -- [`replica-schedule-limit`](/reference/configuration/pd-server/configuration-file.md#replica-schedule-limit):用来控制 replica 相关 operator 的产生速度(涉及到下线、补副本的操作都与该参数有关) +- [`replica-schedule-limit`](/pd-configuration-file.md#replica-schedule-limit):用来控制 replica 相关 operator 的产生速度(涉及到下线、补副本的操作都与该参数有关) > **注意:** > > 不要超过 `region-schedule-limit`,否则会影响正常 TiKV 之间的 Region 调度。 -- [`store-balance-rate`](/reference/configuration/pd-server/configuration-file.md#store-balance-rate):用于限制每个 store 的调度速度 +- [`store-balance-rate`](/pd-configuration-file.md#store-balance-rate):用于限制每个 store 的调度速度 ## TiFlash 配置参数 diff --git a/reference/tiflash/faq.md b/tiflash/tiflash-faq.md similarity index 100% rename from reference/tiflash/faq.md rename to tiflash/tiflash-faq.md diff --git a/reference/tiflash/overview.md b/tiflash/tiflash-overview.md similarity index 94% rename from reference/tiflash/overview.md rename to tiflash/tiflash-overview.md index dc2823cce5fa..a4e7973154be 100644 --- a/reference/tiflash/overview.md +++ b/tiflash/tiflash-overview.md @@ -21,7 +21,7 @@ TiFlash 可以兼容 TiDB 与 TiSpark,用户可以选择使用不同的计算 TiFlash 推荐使用和 TiKV 不同的节点以做到 Workload 隔离,但在无业务隔离的前提下,也可以选择与 TiKV 同节点部署。 -TiFlash 暂时无法直接接受数据写入,任何数据必须先写入 TiKV 再同步到 TiFlash。TiFlash 以 learner 角色接入 TiDB 集群,TiFlash 支持表粒度的数据同步,部署后默认情况下不会同步任何数据,需要按照[按表构建 TiFlash 副本](/reference/tiflash/use-tiflash.md#按表构建-tiflash-副本)一节完成指定表的数据同步。 +TiFlash 暂时无法直接接受数据写入,任何数据必须先写入 TiKV 再同步到 TiFlash。TiFlash 以 learner 角色接入 TiDB 集群,TiFlash 支持表粒度的数据同步,部署后默认情况下不会同步任何数据,需要按照[按表构建 TiFlash 副本](/tiflash/use-tiflash.md#按表构建-tiflash-副本)一节完成指定表的数据同步。 TiFlash 主要包含三个组件,除了主要的存储引擎组件,另外包含 tiflash proxy 和 pd buddy 组件,其中 tiflash proxy 主要用于处理 Multi-Raft 协议通信的相关工作,pd buddy 负责与 PD 协同工作,将 TiKV 数据按表同步到 TiFlash。 @@ -49,4 +49,4 @@ TiDB 可以自动选择使用 TiFlash 列存或者 TiKV 行存,甚至在同一 ### 计算加速 -TiFlash 对 TiDB 的计算加速分为两部分:列存本身的读取效率提升以及为 TiDB 分担计算。其中分担计算的原理和 TiKV 的协处理器一致:TiDB 会将可以由存储层分担的计算下推。能否下推取决于 TiFlash 是否可以支持相关下推。具体介绍请参阅[“TiFlash 支持的计算下推”](/reference/tiflash/use-tiflash.md#tiflash-支持的计算下推)一节。 +TiFlash 对 TiDB 的计算加速分为两部分:列存本身的读取效率提升以及为 TiDB 分担计算。其中分担计算的原理和 TiKV 的协处理器一致:TiDB 会将可以由存储层分担的计算下推。能否下推取决于 TiFlash 是否可以支持相关下推。具体介绍请参阅[“TiFlash 支持的计算下推”](/tiflash/use-tiflash.md#tiflash-支持的计算下推)一节。 diff --git a/reference/tiflash/tune-performance.md b/tiflash/tune-tiflash-performance.md similarity index 83% rename from reference/tiflash/tune-performance.md rename to tiflash/tune-tiflash-performance.md index d962bbfdc154..aef5486f3035 100644 --- a/reference/tiflash/tune-performance.md +++ b/tiflash/tune-tiflash-performance.md @@ -13,7 +13,7 @@ category: reference ## TiDB 相关参数调优 -1. 对于 OLAP/TiFlash 专属的 TiDB 节点,建议调大读取并发数 [`tidb_distsql_scan_concurrency`](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_distsql_scan_concurrency) 到 80: +1. 对于 OLAP/TiFlash 专属的 TiDB 节点,建议调大读取并发数 [`tidb_distsql_scan_concurrency`](/tidb-specific-system-variables.md#tidb_distsql_scan_concurrency) 到 80: {{< copyable "sql" >}} diff --git a/reference/tiflash/upgrade.md b/tiflash/upgrade-tiflash.md similarity index 85% rename from reference/tiflash/upgrade.md rename to tiflash/upgrade-tiflash.md index d10f8d2da593..1e371c6af751 100644 --- a/reference/tiflash/upgrade.md +++ b/tiflash/upgrade-tiflash.md @@ -11,7 +11,7 @@ category: reference 目前 TiFlash 暂时还不支持通过 `tiup cluster upgrade` 进行升级。 推荐使用下面的步骤进行升级: -1. 参考[缩容 TiFlash 节点](/how-to/scale/with-tiup.md#4-缩容-tiflash-节点)章节,对所有的 TiFlash 节点进行缩容操作 +1. 参考[缩容 TiFlash 节点](/scale-tidb-using-tiup.md#4-缩容-tiflash-节点)章节,对所有的 TiFlash 节点进行缩容操作 2. 运行升级命令 diff --git a/reference/tiflash/use-tiflash.md b/tiflash/use-tiflash.md similarity index 98% rename from reference/tiflash/use-tiflash.md rename to tiflash/use-tiflash.md index 41488728387e..687ee5a3b4f3 100644 --- a/reference/tiflash/use-tiflash.md +++ b/tiflash/use-tiflash.md @@ -193,7 +193,7 @@ TiSpark 目前提供类似 TiDB 中 engine 隔离的方式读取 TiFlash,方 > **注意:** > -> 目前 TiFlash 支持 TiDB 新排序规则框架的功能正在开发中,所以在 TiDB 开启[新框架下的排序规则支持](/reference/sql/characterset-and-collation.md#新框架下的排序规则支持)后不支持任何表达式的下推,后续版本会去除这个限制。 +> 目前 TiFlash 支持 TiDB 新排序规则框架的功能正在开发中,所以在 TiDB 开启[新框架下的排序规则支持](/character-set-and-collation.md#新框架下的排序规则支持)后不支持任何表达式的下推,后续版本会去除这个限制。 TiFlash 主要支持谓词、聚合下推计算,下推的计算可以帮助 TiDB 进行分布式加速。暂不支持的计算类型主要是表连接和 DISTINCT COUNT,会在后续版本逐步优化。 diff --git a/reference/configuration/tikv-server/configuration-file.md b/tikv-configuration-file.md similarity index 99% rename from reference/configuration/tikv-server/configuration-file.md rename to tikv-configuration-file.md index 09b4f2269508..dba92669703b 100644 --- a/reference/configuration/tikv-server/configuration-file.md +++ b/tikv-configuration-file.md @@ -7,7 +7,7 @@ category: reference TiKV 配置文件比命令行参数支持更多的选项。你可以在 [etc/config-template.toml](https://github.com/tikv/tikv/blob/master/etc/config-template.toml) 找到默认值的配置文件,重命名为 config.toml 即可。 -本文档只阐述未包含在命令行参数中的参数,命令行参数参见 [TiKV 配置参数](/reference/configuration/tikv-server/configuration.md)。 +本文档只阐述未包含在命令行参数中的参数,命令行参数参见 [TiKV 配置参数](/command-line-flags-for-tikv-configuration.md)。 ### `status-thread-pool-size` @@ -1153,7 +1153,7 @@ import 相关的配置项。 ### `enabled` -+ 开启悲观事务支持,悲观事务使用方法请参考 [TiDB 悲观事务模式](/reference/transactions/transaction-pessimistic.md)。 ++ 开启悲观事务支持,悲观事务使用方法请参考 [TiDB 悲观事务模式](/pessimistic-transaction.md)。 + 默认值:true ### `wait-for-lock-timeout` diff --git a/reference/tools/tikv-control.md b/tikv-control.md similarity index 100% rename from reference/tools/tikv-control.md rename to tikv-control.md diff --git a/reference/tispark.md b/tispark-overview.md similarity index 98% rename from reference/tispark.md rename to tispark-overview.md index ee4810233068..315d8aab548e 100644 --- a/reference/tispark.md +++ b/tispark-overview.md @@ -38,7 +38,7 @@ TiSpark 可以在 YARN,Mesos,Standalone 等任意 Spark 模式下运行。 + 硬件配置建议 - 普通场景可以参考 [TiDB 和 TiKV 硬件配置建议](/how-to/deploy/hardware-recommendations.md),但是如果是偏重分析的场景,可以将 TiKV 节点增加到至少 64G 内存。 + 普通场景可以参考 [TiDB 和 TiKV 硬件配置建议](/hardware-and-software-requirements.md),但是如果是偏重分析的场景,可以将 TiKV 节点增加到至少 64G 内存。 ### Spark 与 TiSpark 集群独立部署的配置 diff --git a/reference/titan/configuration.md b/titan-configuration.md similarity index 93% rename from reference/titan/configuration.md rename to titan-configuration.md index 3dc29c9c414d..271807d7a16c 100644 --- a/reference/titan/configuration.md +++ b/titan-configuration.md @@ -5,7 +5,7 @@ category: reference # Titan 配置 -Titan 是基于 RocksDB 开发的存储引擎插件,通过把 key 和 value 分离存储,在 value 较大的场景下,减少写放大,降低 RocksDB 后台 compaction 对 I/O 带宽和 CPU 的占用,以提高性能。详情参阅 [Titan 介绍](/reference/titan/overview.md)。 +Titan 是基于 RocksDB 开发的存储引擎插件,通过把 key 和 value 分离存储,在 value 较大的场景下,减少写放大,降低 RocksDB 后台 compaction 对 I/O 带宽和 CPU 的占用,以提高性能。详情参阅 [Titan 介绍](/titan-overview.md)。 本文档介绍如何如何通过 Titan 配置项来开启、关闭 Titan,相关参数介绍,以及 level merge 功能。 @@ -30,7 +30,7 @@ Titan 对 RocksDB 兼容,也就是说,使用 RocksDB 存储引擎的现有 T `tiup cluster reload ${cluster-name} -R tikv` ``` - 具体命令,可参考[通过 TiUP 修改配置参数](/how-to/maintain/tiup-operations.md#修改配置参数)。 + 具体命令,可参考[通过 TiUP 修改配置参数](/maintain-tidb-using-tiup.md#修改配置参数)。 + 方法二:直接编辑 TiKV 配置文件开启 Titan(线上环境不推荐)。 @@ -43,7 +43,7 @@ Titan 对 RocksDB 兼容,也就是说,使用 RocksDB 存储引擎的现有 T 开启 Titan 以后,原有的数据并不会马上移入 Titan 引擎,而是随着前台写入和 RocksDB compaction 的进行,逐步进行 key-value 分离并写入 Titan。可以通过观察 **TiKV Details** - **Titan kv** - **blob file size** 监控面版确认数据保存在 Titan 中部分的大小。 -如果需要加速数据移入 Titan,可以通过 tikv-ctl 执行一次全量 compaction,具体参考[手动 compact](/reference/tools/tikv-control.md###手动-compact-整个-TiKV-集群的数据)。 +如果需要加速数据移入 Titan,可以通过 tikv-ctl 执行一次全量 compaction,具体参考[手动 compact](/tikv-control.md###手动-compact-整个-TiKV-集群的数据)。 > **注意:** > @@ -51,7 +51,7 @@ Titan 对 RocksDB 兼容,也就是说,使用 RocksDB 存储引擎的现有 T ## 相关参数介绍 -使用 TiUP 调整参数,请参考[修改配置参数](/how-to/maintain/tiup-operations.md#修改配置参数)。 +使用 TiUP 调整参数,请参考[修改配置参数](/maintain-tidb-using-tiup.md#修改配置参数)。 + Titan GC 线程数。 diff --git a/reference/titan/overview.md b/titan-overview.md similarity index 100% rename from reference/titan/overview.md rename to titan-overview.md diff --git a/reference/tools/tiup/manage-component.md b/tiup/manage-tiup-component.md similarity index 100% rename from reference/tools/tiup/manage-component.md rename to tiup/manage-tiup-component.md diff --git a/reference/tools/tiup/package-component.md b/tiup/package-tiup-component.md similarity index 93% rename from reference/tools/tiup/package-component.md rename to tiup/package-tiup-component.md index a97b60bad39c..951d5f59e7e4 100644 --- a/reference/tools/tiup/package-component.md +++ b/tiup/package-tiup-component.md @@ -65,7 +65,7 @@ Flags: 环境变量 `TIUP_COMPONENT_INSTALL_DIR` 会由 TiUP 在运行时传入,指向该组件的安装目录。 -3. 参考[搭建私有镜像](/reference/tools/tiup/mirrors.md) 搭建离线镜像或私有镜像(因为目前官方镜像未开放 publish 功能,所以不能发布自己的包),搭建完之后确保 `TIUP_MIRRORS` 变量指向搭建的镜像。 +3. 参考[搭建私有镜像](/tiup/tiup-mirrors.md) 搭建离线镜像或私有镜像(因为目前官方镜像未开放 publish 功能,所以不能发布自己的包),搭建完之后确保 `TIUP_MIRRORS` 变量指向搭建的镜像。 4. 打包: diff --git a/reference/tools/tiup/bench.md b/tiup/tiup-bench.md similarity index 100% rename from reference/tools/tiup/bench.md rename to tiup/tiup-bench.md diff --git a/reference/tools/tiup/cluster.md b/tiup/tiup-cluster.md similarity index 98% rename from reference/tools/tiup/cluster.md rename to tiup/tiup-cluster.md index 16a9273936fa..72ced5c4637c 100644 --- a/reference/tools/tiup/cluster.md +++ b/tiup/tiup-cluster.md @@ -5,7 +5,7 @@ category: tools # 使用 TiUP 部署运维 TiDB 线上集群 -本文重在介绍如何使用 TiUP 的 cluster 组件,如果需要线上部署的完整步骤,可参考[使用 TiUP 部署 TiDB 集群](/how-to/deploy/orchestrated/tiup.md)。 +本文重在介绍如何使用 TiUP 的 cluster 组件,如果需要线上部署的完整步骤,可参考[使用 TiUP 部署 TiDB 集群](/production-deployment-using-tiup.md)。 与 playground 组件用于部署本地集群类似,cluster 组件用于快速部署生产集群。对比 playground,cluster 组件提供了更强大的集群管理功能,包括对集群的升级、缩容、扩容甚至操作、审计等。 @@ -191,7 +191,7 @@ ID Role Host Ports Status Data Dir > **注意:** > -> 本节只展示缩容命令的语法示例,线上扩缩容具体步骤可参考[使用 TiUP 扩容缩容 TiDB 集群](/how-to/scale/with-tiup.md)。 +> 本节只展示缩容命令的语法示例,线上扩缩容具体步骤可参考[使用 TiUP 扩容缩容 TiDB 集群](/scale-tidb-using-tiup.md)。 缩容即下线服务,最终会将指定的节点从集群中移除,并删除遗留的相关数据文件。 @@ -256,7 +256,7 @@ ID Role Host Ports Status Data Dir > **注意:** > -> 本节只用于展示扩容命令的语法示例,线上扩缩容可参考[使用 TiUP 扩容缩容 TiDB 集群](/how-to/scale/with-tiup.md)。 +> 本节只用于展示扩容命令的语法示例,线上扩缩容可参考[使用 TiUP 扩容缩容 TiDB 集群](/scale-tidb-using-tiup.md)。 扩容的内部逻辑与部署类似,TiUP cluster 组件会先保证节点的 SSH 连接,在目标节点上创建必要的目录,然后执行部署并且启动服务。其中 PD 节点的扩容会通过 join 方式加入到集群中,并且会更新与 PD 有关联的服务的配置;其他服务直接启动加入到集群中。所有服务在扩容时都会做正确性验证,最终返回是否扩容成功。 @@ -292,7 +292,7 @@ ID Role Host Ports Status Data Dir > **注意:** > -> 本节只用于展示命令的语法示例,线上升级请参考[使用 TiUP 升级 TiDB](/how-to/upgrade/using-tiup.md)。 +> 本节只用于展示命令的语法示例,线上升级请参考[使用 TiUP 升级 TiDB](/upgrade-tidb-using-tiup.md)。 滚动升级功能借助 TiDB 的分布式能力,升级过程中尽量保证对前端业务透明、无感知。升级时会先检查各个组件的配置文件是否合理,如果配置有问题,则报错退出;如果配置没有问题,则工具会逐个节点进行升级。其中对不同节点有不同的操作。 diff --git a/reference/tools/tiup/mirrors.md b/tiup/tiup-mirrors.md similarity index 99% rename from reference/tools/tiup/mirrors.md rename to tiup/tiup-mirrors.md index 9e1ce056c2fe..5240da50adb0 100644 --- a/reference/tools/tiup/mirrors.md +++ b/tiup/tiup-mirrors.md @@ -152,7 +152,7 @@ tiup mirrors [global-version] [flags] export TIUP_MIRRORS=/tmp/package ``` -部署完成后,集群相关操作可参考 [cluster 命令](/reference/tools/tiup/cluster.md)。 +部署完成后,集群相关操作可参考 [cluster 命令](/tiup/tiup-cluster.md)。 ### 构建私有镜像 diff --git a/reference/tools/tiup/overview.md b/tiup/tiup-overview.md similarity index 92% rename from reference/tools/tiup/overview.md rename to tiup/tiup-overview.md index 01749751a520..f297b816296c 100644 --- a/reference/tools/tiup/overview.md +++ b/tiup/tiup-overview.md @@ -127,10 +127,10 @@ Use "tiup [command] --help" for more information about a command. 命令和组件的区别在于,命令是 TiUP 自带的,用于进行包管理的操作。而组件是 TiUP 通过包管理操作安装的独立组件包。比如执行 `tiup list` 命令,TiUP 会直接运行自己内部的代码,而执行 `tiup playground` 命令则会先检查本地有没有叫做 playground 的组件包,若没有则先从镜像上下载过来,然后运行这个组件包。 -[使用 TiUP 管理组件](/reference/tools/tiup/manage-component.md)一节中介绍了所有的 TiUP 命令,组件的介绍则按照不同的组件分为以下几个章节: +[使用 TiUP 管理组件](/tiup/manage-tiup-component.md)一节中介绍了所有的 TiUP 命令,组件的介绍则按照不同的组件分为以下几个章节: -- [本地快速部署 TiDB 集群](/reference/tools/tiup/playground.md):playground 组件 -- [部署运维 TiDB 线上集群](/reference/tools/tiup/cluster.md):cluster 组件 -- [搭建私有镜像](/reference/tools/tiup/mirrors.md):mirrors 组件 -- [打包组件](/reference/tools/tiup/package-component.md):package 组件 -- [使用 TiUP 压测 TiDB](/reference/tools/tiup/bench.md):bench 组件 \ No newline at end of file +- [本地快速部署 TiDB 集群](/tiup/tiup-playground.md):playground 组件 +- [部署运维 TiDB 线上集群](/tiup/tiup-cluster.md):cluster 组件 +- [搭建私有镜像](/tiup/tiup-mirrors.md):mirrors 组件 +- [打包组件](/tiup/package-tiup-component.md):package 组件 +- [使用 TiUP 压测 TiDB](/tiup/tiup-bench.md):bench 组件 \ No newline at end of file diff --git a/reference/tools/tiup/playground.md b/tiup/tiup-playground.md similarity index 100% rename from reference/tools/tiup/playground.md rename to tiup/tiup-playground.md diff --git a/reference/transactions/transaction-isolation.md b/transaction-isolation-levels.md similarity index 92% rename from reference/transactions/transaction-isolation.md rename to transaction-isolation-levels.md index f697fb7c8853..624598d53f6e 100644 --- a/reference/transactions/transaction-isolation.md +++ b/transaction-isolation-levels.md @@ -21,7 +21,7 @@ TiDB 实现了快照隔离 (Snapshot Isolation, SI) 级别的一致性。为与 > **注意:** > -> 在 TiDB v3.0 中,事务的自动重试功能默认为禁用状态。关于该项功能对隔离级别的影响以及如何开启该项功能,请参考[事务重试](/reference/transactions/transaction-optimistic.md#重试机制)。 +> 在 TiDB v3.0 中,事务的自动重试功能默认为禁用状态。关于该项功能对隔离级别的影响以及如何开启该项功能,请参考[事务重试](/optimistic-transaction.md#重试机制)。 ## 可重复读隔离级别 (Repeatable Read) @@ -52,7 +52,7 @@ MySQL 可重复读隔离级别在更新时并不检验当前版本是否可见 ## 读已提交隔离级别 (Read Committed) -TiDB 仅在[悲观事务模式](/reference/transactions/transaction-pessimistic.md)下支持读已提交隔离级别。在乐观事务模式下设置事务隔离级别为读已提交将不会生效,事务将仍旧使用可重复读隔离级别。 +TiDB 仅在[悲观事务模式](/pessimistic-transaction.md)下支持读已提交隔离级别。在乐观事务模式下设置事务隔离级别为读已提交将不会生效,事务将仍旧使用可重复读隔离级别。 由于历史原因,当前主流数据库的读已提交隔离级别本质上都是 Oracle 定义的一致性读隔离级别。TiDB 为了适应这一历史原因,悲观事务中的读已提交隔离级别的实质行为也是一致性读。 diff --git a/reference/transactions/overview.md b/transaction-overview.md similarity index 92% rename from reference/transactions/overview.md rename to transaction-overview.md index 752f75ec56c9..5ceddc9aedb5 100644 --- a/reference/transactions/overview.md +++ b/transaction-overview.md @@ -6,9 +6,9 @@ category: reference # TiDB 事务概览 -TiDB 支持完整的分布式事务,提供[乐观事务](/reference/transactions/transaction-optimistic.md)与[悲观事务](/reference/transactions/transaction-pessimistic.md)(TiDB 3.0 中引入)两种事务模型。本文主要介绍涉及到事务的语句、显式/隐式事务、事务的隔离级别和惰性检查,以及事务大小的限制。 +TiDB 支持完整的分布式事务,提供[乐观事务](/optimistic-transaction.md)与[悲观事务](/pessimistic-transaction.md)(TiDB 3.0 中引入)两种事务模型。本文主要介绍涉及到事务的语句、显式/隐式事务、事务的隔离级别和惰性检查,以及事务大小的限制。 -常用的变量包括 [`autocommit`](#自动提交)、[`tidb_disable_txn_auto_retry`](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_disable_txn_auto_retry) 以及 [`tidb_retry_limit`](/reference/configuration/tidb-server/tidb-specific-variables.md#tidb_retry_limit)。 +常用的变量包括 [`autocommit`](#自动提交)、[`tidb_disable_txn_auto_retry`](/tidb-specific-system-variables.md#tidb_disable_txn_auto_retry) 以及 [`tidb_retry_limit`](/tidb-specific-system-variables.md#tidb_retry_limit)。 ## 常用事务语句 diff --git a/how-to/troubleshoot/cluster-setup.md b/troubleshoot-tidb-cluster.md similarity index 91% rename from how-to/troubleshoot/cluster-setup.md rename to troubleshoot-tidb-cluster.md index 168eadedcdbd..0147ae8ea5fb 100644 --- a/how-to/troubleshoot/cluster-setup.md +++ b/troubleshoot-tidb-cluster.md @@ -47,7 +47,7 @@ tidb-server 无法启动的常见情况包括: + 启动参数错误 - 请参考 [TiDB 命令行参数](/reference/configuration/tidb-server/configuration.md)。 + 请参考 [TiDB 命令行参数](/command-line-flags-for-tidb-configuration.md)。 + 端口被占用:`lsof -i:port` @@ -68,7 +68,7 @@ tidb-server 无法启动的常见情况包括: + 启动参数错误 - 请参考 [TiKV 启动参数](/reference/configuration/tikv-server/configuration.md)文档。 + 请参考 [TiKV 启动参数](/command-line-flags-for-tikv-configuration.md)文档。 + 端口被占用:`lsof -i:port` @@ -88,7 +88,7 @@ tidb-server 无法启动的常见情况包括: + 启动参数错误 - 请参考 [PD 命令行参数](/reference/configuration/pd-server/configuration.md)文档。 + 请参考 [PD 命令行参数](/command-line-flags-for-pd-configuration.md)文档。 + 端口被占用:`lsof -i:port` @@ -132,7 +132,7 @@ tidb-server 无法启动的常见情况包括: ## 数据库访问超时,系统负载高 -首先检查 [SLOW-QUERY](/how-to/maintain/identify-abnormal-queries/identify-slow-queries.md) 日志,判断是否是因为某条 SQL 语句导致。如果未能解决,请提供如下信息: +首先检查 [SLOW-QUERY](/identify-slow-queries.md) 日志,判断是否是因为某条 SQL 语句导致。如果未能解决,请提供如下信息: + 部署的拓扑结构 - tidb-server/pd-server/tikv-server 部署了几个实例 diff --git a/how-to/troubleshoot/tidb-lightning.md b/troubleshoot-tidb-lightning.md similarity index 92% rename from how-to/troubleshoot/tidb-lightning.md rename to troubleshoot-tidb-lightning.md index f9ceac89079f..8f9ea1638cef 100644 --- a/how-to/troubleshoot/tidb-lightning.md +++ b/troubleshoot-tidb-lightning.md @@ -51,11 +51,11 @@ TiDB Lightning 的正常速度为每条线程每 2 分钟导入一个 256 MB 的 2. 把断点存放在外部数据库(修改 `[checkpoint] dsn`),减轻目标集群压力。 -3. 参考[如何正确重启 TiDB Lightning](/faq/tidb-lightning.md#如何正确重启-tidb-lightning)中的解决办法。 +3. 参考[如何正确重启 TiDB Lightning](/tidb-lightning/tidb-lightning-faq.md#如何正确重启-tidb-lightning)中的解决办法。 ## Checkpoint for … has invalid status:(错误码) -**原因**:[断点续传](/reference/tools/tidb-lightning/checkpoints.md)已启用。Lightning 或 Importer 之前发生了异常退出。为了防止数据意外损坏,Lightning 在错误解决以前不会启动。 +**原因**:[断点续传](/tidb-lightning/tidb-lightning-checkpoints.md)已启用。Lightning 或 Importer 之前发生了异常退出。为了防止数据意外损坏,Lightning 在错误解决以前不会启动。 错误码是小于 25 的整数,可能的取值是 0、3、6、9、12、14、15、17、18、20、21。整数越大,表示异常退出所发生的步骤在导入流程中越晚。 @@ -69,7 +69,7 @@ TiDB Lightning 的正常速度为每条线程每 2 分钟导入一个 256 MB 的 tidb-lightning-ctl --config conf/tidb-lightning.toml --checkpoint-error-destroy=all ``` -其他解决方法请参考[断点续传的控制](/reference/tools/tidb-lightning/checkpoints.md#断点续传的控制)。 +其他解决方法请参考[断点续传的控制](/tidb-lightning/tidb-lightning-checkpoints.md#断点续传的控制)。 ## ResourceTemporarilyUnavailable("Too many open engines …: …") diff --git a/reference/performance/tune-tikv.md b/tune-tikv-performance.md similarity index 100% rename from reference/performance/tune-tikv.md rename to tune-tikv-performance.md diff --git a/how-to/upgrade/from-previous-version.md b/upgrade-tidb-using-ansible.md similarity index 87% rename from how-to/upgrade/from-previous-version.md rename to upgrade-tidb-using-ansible.md index 61b7804b5361..b114f5435683 100644 --- a/how-to/upgrade/from-previous-version.md +++ b/upgrade-tidb-using-ansible.md @@ -6,7 +6,7 @@ aliases: ['/docs-cn/dev/how-to/upgrade/to-tidb-3.0/','/docs-cn/dev/how-to/upgrad # 使用 TiDB Ansible 升级 TiDB -本文档适用于从 TiDB 2.0、2.1、3.0、3.1 版本升级至 TiDB 最新开发版 (latest) 以及从开发版的较低版本升级至最新版本。目前,TiDB 最新开发版兼容 [TiDB Binlog Cluster 版本](/reference/tidb-binlog/overview.md)。 +本文档适用于从 TiDB 2.0、2.1、3.0、3.1 版本升级至 TiDB 最新开发版 (latest) 以及从开发版的较低版本升级至最新版本。目前,TiDB 最新开发版兼容 [TiDB Binlog Cluster 版本](/tidb-binlog/tidb-binlog-overview.md)。 > **警告:** > @@ -30,7 +30,7 @@ aliases: ['/docs-cn/dev/how-to/upgrade/to-tidb-3.0/','/docs-cn/dev/how-to/upgrad > > 如果已经安装了 TiDB Ansible 及其依赖,可跳过该步骤。 -TiDB Ansible 最新开发版依赖 2.4.2 及以上但不高于 2.7.11 的 Ansible 版本(`2.4.2 ≦ ansible ≦ 2.7.11`,建议 2.7.11 版本),另依赖 Python 模块:`jinja2 ≧ 2.9.6` 和 `jmespath ≧ 0.9.0`。为方便管理依赖,建议使用 `pip` 安装 TiDB Ansible 及其依赖,可参照[在中控机器上安装 TiDB Ansible 及其依赖](/how-to/deploy/orchestrated/ansible.md#在中控机器上安装-tidb-ansible-及其依赖) 进行安装。离线环境参照[在中控机器上离线安装 TiDB Ansible 及其依赖](/how-to/deploy/orchestrated/offline-ansible.md#在中控机器上离线安装-tidb-ansible-及其依赖)。 +TiDB Ansible 最新开发版依赖 2.4.2 及以上但不高于 2.7.11 的 Ansible 版本(`2.4.2 ≦ ansible ≦ 2.7.11`,建议 2.7.11 版本),另依赖 Python 模块:`jinja2 ≧ 2.9.6` 和 `jmespath ≧ 0.9.0`。为方便管理依赖,建议使用 `pip` 安装 TiDB Ansible 及其依赖,可参照[在中控机器上安装 TiDB Ansible 及其依赖](/online-deployment-using-ansible.md#在中控机器上安装-tidb-ansible-及其依赖) 进行安装。离线环境参照[在中控机器上离线安装 TiDB Ansible 及其依赖](/offline-deployment-using-ansible.md#在中控机器上离线安装-tidb-ansible-及其依赖)。 安装完成后,可通过以下命令查看版本: @@ -80,7 +80,7 @@ Version: 0.9.0 mv tidb-ansible tidb-ansible-bak ``` -下载 TiDB latest 版本对应的 tidb-ansible [**下载 TiDB Ansible**](/how-to/deploy/orchestrated/ansible.md#在中控机器上下载-tidb-ansible),默认的文件夹名称为 `tidb-ansible`。 +下载 TiDB latest 版本对应的 tidb-ansible [**下载 TiDB Ansible**](/online-deployment-using-ansible.md#在中控机器上下载-tidb-ansible),默认的文件夹名称为 `tidb-ansible`。 {{< copyable "shell-regular" >}} @@ -96,7 +96,7 @@ git clone https://github.com/pingcap/tidb-ansible.git 编辑 `inventory.ini` 文件,IP 信息参照备份文件 `/home/tidb/tidb-ansible-bak/inventory.ini`。 -以下变量配置,需要重点确认,变量含义可参考 [inventory.ini 变量调整](/how-to/deploy/orchestrated/ansible.md#调整其它变量可选)。 +以下变量配置,需要重点确认,变量含义可参考 [inventory.ini 变量调整](/online-deployment-using-ansible.md#调整其它变量可选)。 1. 请确认 `ansible_user` 配置的是普通用户。为统一权限管理,不再支持使用 root 用户远程安装。默认配置中使用 `tidb` 用户作为 SSH 远程用户及程序运行用户。 @@ -106,7 +106,7 @@ git clone https://github.com/pingcap/tidb-ansible.git ansible_user = tidb ``` - 可参考[如何配置 SSH 互信及 sudo 规则](/how-to/deploy/orchestrated/ansible.md#第-5-步在中控机上配置部署机器-ssh-互信及-sudo-规则)自动配置主机间互信。 + 可参考[如何配置 SSH 互信及 sudo 规则](/online-deployment-using-ansible.md#第-5-步在中控机上配置部署机器-ssh-互信及-sudo-规则)自动配置主机间互信。 2. `process_supervision` 变量请与之前版本保持一致,默认推荐使用 `systemd`。 @@ -115,7 +115,7 @@ git clone https://github.com/pingcap/tidb-ansible.git process_supervision = systemd ``` - 如需变更,可参考[如何调整进程监管方式从 supervise 到 systemd](/how-to/deploy/orchestrated/ansible.md#如何调整进程监管方式从-supervise-到-systemd),先使用备份 `/home/tidb/tidb-ansible-bak/` 分支变更进程监管方式再升级。 + 如需变更,可参考[如何调整进程监管方式从 supervise 到 systemd](/online-deployment-using-ansible.md#如何调整进程监管方式从-supervise-到-systemd),先使用备份 `/home/tidb/tidb-ansible-bak/` 分支变更进程监管方式再升级。 3. 新增 `cpu_architecture` 参数,根据 CPU 架构来配置。默认值为 `amd64`。 diff --git a/how-to/upgrade/using-tiup.md b/upgrade-tidb-using-tiup.md similarity index 98% rename from how-to/upgrade/using-tiup.md rename to upgrade-tidb-using-tiup.md index 512826fbe6ac..c8dcffbb4637 100644 --- a/how-to/upgrade/using-tiup.md +++ b/upgrade-tidb-using-tiup.md @@ -132,7 +132,7 @@ tiup update cluster > **注意:** > -> 升级到 4.0 版本前,请确认 3.0 修改的参数在 4.0 版本中是兼容的,可参考[配置模板](/reference/configuration/tikv-server/configuration-file.md)。 +> 升级到 4.0 版本前,请确认 3.0 修改的参数在 4.0 版本中是兼容的,可参考[配置模板](/tikv-configuration-file.md)。 ## 4. 滚动升级 TiDB 集群 diff --git a/reference/security/user-account-management.md b/user-account-management.md similarity index 98% rename from reference/security/user-account-management.md rename to user-account-management.md index fda0c6fce7af..c0a81fd010b8 100644 --- a/reference/security/user-account-management.md +++ b/user-account-management.md @@ -229,4 +229,4 @@ TiDB 将密码存在 `mysql.user` 系统数据库里面。只有拥有 `CREATE U FLUSH PRIVILEGES; ``` -详情参见[权限管理](/reference/security/privilege-system.md)。 +详情参见[权限管理](/privilege-management.md)。 diff --git a/reference/sql/language-structure/user-defined-variables.md b/user-defined-variables.md similarity index 100% rename from reference/sql/language-structure/user-defined-variables.md rename to user-defined-variables.md diff --git a/reference/sql/view.md b/views.md similarity index 94% rename from reference/sql/view.md rename to views.md index 309dbf6d2222..6a68f5608469 100644 --- a/reference/sql/view.md +++ b/views.md @@ -104,5 +104,5 @@ Query OK, 0 rows affected (0.02 sec) ## 扩展阅读 -- [创建视图](/reference/sql/statements/create-view.md) -- [删除视图](/reference/sql/statements/drop-view.md) +- [创建视图](/sql-statements/sql-statement-create-view.md) +- [删除视图](/sql-statements/sql-statement-drop-view.md)
LoaderTiDB Lightning