diff --git a/TOC.md b/TOC.md index a6249a124f07b..e55f3908149cb 100644 --- a/TOC.md +++ b/TOC.md @@ -213,6 +213,8 @@ + [`BEGIN`](/sql-statements/sql-statement-begin.md) + [`CHANGE COLUMN`](/sql-statements/sql-statement-change-column.md) + [`COMMIT`](/sql-statements/sql-statement-commit.md) + + [`CHANGE DRAINER`](/sql-statements/sql-statement-change-drainer.md) + + [`CHANGE PUMP`](/sql-statements/sql-statement-change-pump.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) @@ -270,6 +272,7 @@ + [`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 DRAINER STATUS`](/sql-statements/sql-statement-show-drainer-status.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) @@ -277,9 +280,11 @@ + [`SHOW INDEX [FROM|IN]`](/sql-statements/sql-statement-show-index.md) + [`SHOW INDEXES [FROM|IN]`](/sql-statements/sql-statement-show-indexes.md) + [`SHOW KEYS [FROM|IN]`](/sql-statements/sql-statement-show-keys.md) + + [`SHOW MASTER STATUS`](/sql-statements/sql-statement-show-master-status.md) + [`SHOW PLUGINS`](/sql-statements/sql-statement-show-plugins.md) + [`SHOW PRIVILEGES`](/sql-statements/sql-statement-show-privileges.md) + [`SHOW [FULL] PROCESSSLIST`](/sql-statements/sql-statement-show-processlist.md) + + [`SHOW PUMP STATUS`](/sql-statements/sql-statement-show-pump-status.md) + [`SHOW SCHEMAS`](/sql-statements/sql-statement-show-schemas.md) + [`SHOW STATUS`](/sql-statements/sql-statement-show-status.md) + [`SHOW TABLE NEXT_ROW_ID`](/sql-statements/sql-statement-show-table-next-rowid.md) diff --git a/sql-statements/sql-statement-change-drainer.md b/sql-statements/sql-statement-change-drainer.md new file mode 100644 index 0000000000000..4cf9abf18d2eb --- /dev/null +++ b/sql-statements/sql-statement-change-drainer.md @@ -0,0 +1,71 @@ +--- +title: CHANGE DRAINER +summary: An overview of the usage of CHANGE DRAINER for the TiDB database. +category: reference +--- + +# CHANGE DRAINER + +The `CHANGE DRAINER` statement modifies the status information for Drainer in the cluster. + +> **Tip:** +> +> Drainer's state is automatically reported to PD while running. Only when Drainer is under abnormal circumstances and its state is inconsistent with the state information stored in PD, you can use the `CHANGE DRAINER` statement to modify the state information stored in PD. + +## Examples + +{{< copyable "sql" >}} + +```sql +SHOW DRAINER STATUS; +``` + +```sql ++----------|----------------|--------|--------------------|---------------------| +| NodeID | Address | State | Max_Commit_Ts | Update_Time | ++----------|----------------|--------|--------------------|---------------------| +| drainer1 | 127.0.0.3:8249 | Online | 408553768673342532 | 2019-04-30 00:00:03 | ++----------|----------------|--------|--------------------|---------------------| +| drainer2 | 127.0.0.4:8249 | Online | 408553768673345531 | 2019-05-01 00:00:04 | ++----------|----------------|--------|--------------------|---------------------| +2 rows in set (0.00 sec) +``` + +It can be seen that drainer1's state has not been updated for more than a day, the Drainer is in an abnormal state, but the `State` remains `Online`. After using `CHANGE DRAINER`, the Drainer's `State` is changed to 'paused': + +{{< copyable "sql" >}} + +```sql +CHANGE DRAINER TO NODE_STATE ='paused' FOR NODE_ID 'drainer1'; +``` + +```sql +Query OK, 0 rows affected (0.01 sec) +``` + +{{< copyable "sql" >}} + +```sql +SHOW DRAINER STATUS; +``` + +```sql ++----------|----------------|--------|--------------------|---------------------| +| NodeID | Address | State | Max_Commit_Ts | Update_Time | ++----------|----------------|--------|--------------------|---------------------| +| drainer1 | 127.0.0.3:8249 | Paused | 408553768673342532 | 2019-04-30 00:00:03 | ++----------|----------------|--------|--------------------|---------------------| +| drainer2 | 127.0.0.4:8249 | Online | 408553768673345531 | 2019-05-01 00:00:04 | ++----------|----------------|--------|--------------------|---------------------| +2 rows in set (0.00 sec) +``` + +## MySQL compatibility + +MySQL dosen't support this statement. + +## See also + +* [SHOW PUMP STATUS](/sql-statements/sql-statement-show-pump-status.md) +* [SHOW DRAINER STATUS](/sql-statements/sql-statement-show-drainer-status.md) +* [CHANGE PUMP STATUS](/sql-statements/sql-statement-change-pump.md) diff --git a/sql-statements/sql-statement-change-pump.md b/sql-statements/sql-statement-change-pump.md new file mode 100644 index 0000000000000..3e15d4aa9a200 --- /dev/null +++ b/sql-statements/sql-statement-change-pump.md @@ -0,0 +1,71 @@ +--- +title: CHANGE PUMP +summary: An overview of the usage of CHANGE PUMP for the TiDB database. +category: reference +--- + +# CHANGE PUMP + +The `CHANGE PUMP` statement modifies the status information for Pump in the cluster. + +> **Tip:** +> +> Pump's state is automatically reported to PD while running. Only when Pump is under abnormal circumstances and its state is inconsistent with the state information stored in PD, you can use the `CHANGE PUMP` statement to modify the state information stored in PD. + +## Examples + +{{< copyable "sql" >}} + +```sql +SHOW PUMP STATUS; +``` + +```sql ++--------|----------------|--------|--------------------|---------------------| +| NodeID | Address | State | Max_Commit_Ts | Update_Time | ++--------|----------------|--------|--------------------|---------------------| +| pump1 | 127.0.0.1:8250 | Online | 408553768673342237 | 2019-04-30 00:00:01 | ++--------|----------------|--------|--------------------|---------------------| +| pump2 | 127.0.0.2:8250 | Online | 408553768673342335 | 2019-05-01 00:00:02 | ++--------|----------------|--------|--------------------|---------------------| +2 rows in set (0.00 sec) +``` + +It can be seen that pump1's state has not been updated for more than a day, the Pump is in an abnormal state, but the `State` remains `Online`. After using `CHANGE PUMP`, the Pump's `State` is changed to 'paused' : + +{{< copyable "sql" >}} + +```sql +CHANGE PUMP TO NODE_STATE ='paused' FOR NODE_ID 'pump1'; +``` + +```sql +Query OK, 0 rows affected (0.01 sec) +``` + +{{< copyable "sql" >}} + +```sql +SHOW PUMP STATUS; +``` + +```sql ++--------|----------------|--------|--------------------|---------------------| +| NodeID | Address | State | Max_Commit_Ts | Update_Time | ++--------|----------------|--------|--------------------|---------------------| +| pump1 | 127.0.0.1:8250 | Paused | 408553768673342237 | 2019-04-30 00:00:01 | ++--------|----------------|--------|--------------------|---------------------| +| pump2 | 127.0.0.2:8250 | Online | 408553768673342335 | 2019-05-01 00:00:02 | ++--------|----------------|--------|--------------------|---------------------| +2 rows in set (0.00 sec) +``` + +## MySQL compatibility + +MySQL dosen't support this statement. + +## See also + +* [SHOW PUMP STATUS](/sql-statements/sql-statement-show-pump-status.md) +* [SHOW DRAINER STATUS](/sql-statements/sql-statement-show-drainer-status.md) +* [CHANGE DRAINER STATUS](/sql-statements/sql-statement-change-drainer.md) diff --git a/sql-statements/sql-statement-show-drainer-status.md b/sql-statements/sql-statement-show-drainer-status.md new file mode 100644 index 0000000000000..4119cf2ea6e9c --- /dev/null +++ b/sql-statements/sql-statement-show-drainer-status.md @@ -0,0 +1,38 @@ +--- +title: SHOW DRAINER STATUS +summary: An overview of the usage of SHOW DRAINER STATUS for the TiDB database. +category: reference +--- + +# SHOW DRAINER STATUS + +The `SHOW DRAINER STATUS` statement displays the status information for all Drainer nodes in the cluster. + +## Examples + +{{< copyable "sql" >}} + +```sql +SHOW DRAINER STATUS; +``` + +```sql ++----------|----------------|--------|--------------------|---------------------| +| NodeID | Address | State | Max_Commit_Ts | Update_Time | ++----------|----------------|--------|--------------------|---------------------| +| drainer1 | 127.0.0.3:8249 | Online | 408553768673342532 | 2019-05-01 00:00:03 | ++----------|----------------|--------|--------------------|---------------------| +| drainer2 | 127.0.0.4:8249 | Online | 408553768673345531 | 2019-05-01 00:00:04 | ++----------|----------------|--------|--------------------|---------------------| +2 rows in set (0.00 sec) +``` + +## MySQL compatibility + +MySQL dosen't support this statement. + +## See also + +* [SHOW PUMP STATUS](/sql-statements/sql-statement-show-pump-status.md) +* [CHANGE PUMP STATUS](/sql-statements/sql-statement-change-pump.md) +* [CHANGE DRAINER STATUS](/sql-statements/sql-statement-change-drainer.md) diff --git a/sql-statements/sql-statement-show-master-status.md b/sql-statements/sql-statement-show-master-status.md new file mode 100644 index 0000000000000..8b3af9bdc5dbe --- /dev/null +++ b/sql-statements/sql-statement-show-master-status.md @@ -0,0 +1,37 @@ +--- +title: SHOW MASTER STATUS +summary: An overview of the usage of SHOW MASTER STATUS for the TiDB database. +category: reference +--- + +# SHOW MASTER STATUS + +The `SHOW MASTER STATUS` statement displays the latest TSO in the cluster. + +## Examples + +{{< copyable "sql" >}} + +```sql +SHOW MASTER STATUS; +``` + +```sql ++-------------+--------------------+--------------+------------------+-------------------+ +| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | ++-------------+--------------------+--------------+------------------+-------------------+ +| tidb-binlog | 416916363252072450 | | | | ++-------------+--------------------+--------------+------------------+-------------------+ +1 row in set (0.00 sec) +``` + +## MySQL compatibility + +The output of `SHOW MASTER STATUS` is designed to match MySQL. However, the execution results are different in that the MySQL result is the binlog location information and the TiDB result is the latest TSO information. + +## See also + +* [SHOW PUMP STATUS](/sql-statements/sql-statement-show-pump-status.md) +* [SHOW DRAINER STATUS](/sql-statements/sql-statement-show-drainer-status.md) +* [CHANGE PUMP STATUS](/sql-statements/sql-statement-change-pump.md) +* [CHANGE DRAINER STATUS](/sql-statements/sql-statement-change-drainer.md) diff --git a/sql-statements/sql-statement-show-pump-status.md b/sql-statements/sql-statement-show-pump-status.md new file mode 100644 index 0000000000000..baba74260b844 --- /dev/null +++ b/sql-statements/sql-statement-show-pump-status.md @@ -0,0 +1,38 @@ +--- +title: SHOW PUMP STATUS +summary: An overview of the usage of SHOW PUMP STATUS for the TiDB database. +category: reference +--- + +# SHOW PUMP STATUS + +The `SHOW PUMP STATUS` statement displays the status information for all Pump nodes in the cluster. + +## Examples + +{{< copyable "sql" >}} + +```sql +SHOW PUMP STATUS; +``` + +```sql ++--------|----------------|--------|--------------------|---------------------| +| NodeID | Address | State | Max_Commit_Ts | Update_Time | ++--------|----------------|--------|--------------------|---------------------| +| pump1 | 127.0.0.1:8250 | Online | 408553768673342237 | 2019-05-01 00:00:01 | ++--------|----------------|--------|--------------------|---------------------| +| pump2 | 127.0.0.2:8250 | Online | 408553768673342335 | 2019-05-01 00:00:02 | ++--------|----------------|--------|--------------------|---------------------| +2 rows in set (0.00 sec) +``` + +## MySQL compatibility + +MySQL dosen't support this statement. + +## See also + +* [SHOW DRAINER STATUS](/sql-statements/sql-statement-show-drainer-status.md) +* [CHANGE PUMP STATUS](/sql-statements/sql-statement-change-pump.md) +* [CHANGE DRAINER STATUS](/sql-statements/sql-statement-change-drainer.md)