# 练习 1 : TiDB 的连接管理

## 练习目的
+ 在本练习中，您将会学习如何连接到 TiDB 并执行 SQL 语句，之后您会练习到查询当前数据库的连接状态。

## 先决条件
+ 注意，您的练习环境（包括IP，端口号，用户名，密码和目录）可能和本练习不同。
+ 可以连接到练习用虚拟机。
+ 您已经安装了 MySQL 客户端。



1. 使用 MySQL 客户端连接 TiDB.
```
$ mysql --host 172.31.0.106 --port 4000 -u root -p
```

2. 查看数据库版本.
```sql
> SELECT tidb_version()\G
```


3. 查看默认数据库.
```sql
> SHOW DATABASES;
```


4. 创建数据库 `tidb`.
```sql
> CREATE DATABASE tidb;
```

5. 进入 `tidb` 数据库.
```sql
> USE tidb;
```


6. 创建表 `tab_tidb`.
```sql
> CREATE TABLE `tab_tidb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL DEFAULT '',
`age` int(11) NOT NULL DEFAULT 0,
`version` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `idx_age` (`age`));
```


7. 向表中插入数据.
```sql
> INSERT INTO `tab_tidb` VALUES (1,'TiDB',6,'TiDB-v6.1.0');
```


8. 查看数据.
```sql
> SELECT * FROM tab_tidb;
```

9. 查询当前数据库的连接状态.
```sql
> SHOW processlist;
```

10. 使用 GUI 工具连接 TiDB.
<img src="../../../diagram/MySQLWorkbennch01_aa_001_20220616.png" width="50%" align="top"/>
<img src="../../../diagram/MySQLWorkbennch02_aa_001_20220616.png" width="50%" align="top"/>



## 步骤 8 输出样例
```sql
> SELECT * FROM tab_tidb;

+----+------+-----+-------------+
| id | name | age | version     |
+----+------+-----+-------------+
|  1 | TiDB |   6 | TiDB-v6.1.0 |
+----+------+-----+-------------+
```


## 步骤 9 输出样例
```sql
> SHOW processlist;

+---------------------+------+-------------------+------+---------+------+------------+------------------+
| Id                  | User | Host              | db   | Command | Time | State      | Info             |
+---------------------+------+-------------------+------+---------+------+------------+------------------+
| 6156387705266635215 | root | 172.31.0.106:4208 | tidb | Query   |    0 | autocommit | show processlist |
+---------------------+------+-------------------+------+---------+------+------------+------------------+
```