title | summary | category | aliases | |
---|---|---|---|---|
TiDB Controller User Guide |
Use TiDB Controller to obtain TiDB status information for debugging. |
reference |
|
TiDB Controller is a command line tool of TiDB, usually used to obtain the status information of TiDB for debugging.
- Compilation environment requirement: Go Version 1.7 or later
- Compilation procedures: Go to the root directory of the TiDB Controller project, use the
make
command to compile, and generatetidb-ctl
. - Compilation documentation: you can find the help files in the
doc
directory; if the help files are lost or you want to update them, use themake doc
command to generate the help files.
The usage of tidb-ctl
consists of command (including subcommand), option, and flag.
- command: characters without
-
or--
- option: characters with
-
or--
- flag: characters exactly following the command or option, passing value to the command or option
Usage example: tidb-ctl schema in mysql -n db
schema
: the commandin
: the subcommand of schemamysql
: the flag ofin
-n
: the optiondb
: the flag of-n
Use tidb-ctl -h/--help
to get the help information. tidb-ctl
consists of multiple layers of commands. You can use -h/--help
to get the help information of tidb-ctl
and all other subcommands.
tidb-ctl -H/--host {TiDB service address} -P/--port {TiDB service port}
If you do not add an address or a port, the default value is used. The default address is 127.0.0.1
(service address must be the IP address); the default port is 10080
. Connection options are top-level options and apply to all of the following commands.
Currently, TiDB Controller can obtain four categories of information using the following four commands:
tidb-ctl mvcc
: MVCC informationtidb-ctl region
: Region informationtidb-ctl schema
: Schema informationtidb-ctl table
: Table information
The following example shows how to obtain the schema information:
Use tidb-ctl schema -h
to get the help information of the subcommands. schema
has two subcommands: in
and tid
.
in
is used to obtain the table schema of all tables in the database through the database name.tid
is used to obtain the table schema through the uniquetable_id
in the whole database.
You can also use tidb-ctl schema in -h/--help
to get the help information of the in
subcommand.
tidb-ctl schema in {database name}
For example, tidb-ctl schema in mysql
returns the following result:
[
{
"id": 13,
"name": {
"O": "columns_priv",
"L": "columns_priv"
},
...
"update_timestamp": 399494726837600268,
"ShardRowIDBits": 0,
"Partition": null
}
]
The result is long and displayed in JSON. The above result is a truncated one.
-
If you want to specify the table name, use
tidb-ctl schema in {database} -n {table name}
to filter.For example,
tidb-ctl schema in mysql -n db
returns the table schema of thedb
table in themysql
database:{ "id": 9, "name": { "O": "db", "L": "db" }, ... "Partition": null }
The above result is a truncated one, too.
-
If you want to specify the server address, use the
-H -P
option.For example,
tidb-ctl -H 127.0.0.1 -P 10080 schema in mysql -n db
.