diff --git a/statistics.md b/statistics.md index 8438faaca751b..94ef2ba2f0839 100644 --- a/statistics.md +++ b/statistics.md @@ -331,7 +331,33 @@ When the ratio of the number of modified rows to the total number of rows of `tb > > Currently, the automatic update does not record the configuration items input at manual `ANALYZE`. Therefore, when you use the `WITH` syntax to control the collecting behavior of `ANALYZE`, you need to manually set scheduled tasks to collect statistics. -Before v5.0, when you execute a query, TiDB collects feedback with `feedback-probability` and updates the histogram and Count-Min Sketch based on the feedback. **Since v5.0, this feature is disabled by default, and it is not recommended to enable this feature.** +Before TiDB v5.0, when you execute a query, TiDB collects feedback with `feedback-probability` and updates the histogram and Count-Min Sketch based on the feedback. **Since v5.0, this feature is disabled by default, and it is not recommended to enable this feature.** + +Since TiDB v6.0, TiDB supports using the `KILL` statement to terminate an `ANALYZE` task running in the background. If you find that an `ANALYZE` task running in the background consumes a lot of resources and affects your application, you can terminate the `ANALYZE` task by taking the following steps: + +1. Execute the following SQL statement to get the TiDB instance address and the `ID` of the background `ANALYZE` task: + + {{< copyable "sql" >}} + + ```sql + SELECT ci.instance as instance, cp.id as id FROM information_schema.cluster_info ci, information_schema.cluster_processlist cp WHERE ci.status_address = cp.instance and ci.type = 'tidb' and cp.info like 'analyze table %' and cp.user = '' and cp.host = ''; + ``` + + If there is no result, no `ANALYZE` task is running in the background. + +2. Use a client to connect to the TiDB instance where the background `ANALYZE` task is running, and then execute the following `KILL` statement: + + {{< copyable "sql" >}} + + ```sql + KILL TIDB ${id}; + ``` + + `${id}` is the `ID` of the background `ANALYZE` task obtained in the previous step. + + > **Note:** + > + > The above `KILL` statement only works on a TiDB instance that is executing a background `ANALYZE` task. Therefore, you must use a client to connect to that TiDB instance first. If you use a client to connect to another TiDB instance, or if there is a proxy between the client and TiDB, the `KILL` statement cannot terminate the background `ANALYZE` task. For more information, see [`KILL [TIDB]`](/sql-statements/sql-statement-kill.md). ### Control `ANALYZE` concurrency diff --git a/tidb-lightning/tidb-lightning-configuration.md b/tidb-lightning/tidb-lightning-configuration.md index 28a36e469d2e9..38ae9c563793f 100644 --- a/tidb-lightning/tidb-lightning-configuration.md +++ b/tidb-lightning/tidb-lightning-configuration.md @@ -262,6 +262,7 @@ trim-last-separator = false host = "172.16.31.1" port = 4000 user = "root" +# Configure the password to connect to TiDB. The password can either be plaintext or Base64 encoded. password = "" # Table schema information is fetched from TiDB via this status-port. status-port = 10080 @@ -440,7 +441,7 @@ min-available-ratio = 0.05 | --tidb-port *port* | TiDB server port (default = 4000) | `tidb.port` | | --tidb-status *port* | TiDB status port (default = 10080) | `tidb.status-port` | | --tidb-user *user* | User name to connect to TiDB | `tidb.user` | -| --tidb-password *password* | Password to connect to TiDB | `tidb.password` | +| --tidb-password *password* | Password to connect to TiDB. The password can either be plaintext or Base64 encoded. | `tidb.password` | | --no-schema | Ignore schema files, get schema directly from TiDB | `mydumper.no-schema` | | --enable-checkpoint *bool* | Whether to enable checkpoints (default = true) | `checkpoint.enable` | | --analyze *level* | Analyze tables after importing. Available values are "required", "optional" (default value), and "off" | `post-restore.analyze` |