代码改变世界

查看使用 MySQL Shell 的连接状态

2024-06-24 17:09  abce  阅读(25)  评论(0编辑  收藏  举报

启动 MySQL Shell

mysqlsh

上面的命令只是启动 MySQL Shell,并没有连接到 MySQL 实例。这个时候可以查看一下状态:

\status

输出结果如下:

MySQL Shell version 8.0.37 Not Connected.

该输出显示了当前的 MySQL 版本,以及一条我们尚未连接到 MySQL 实例的消息。由于我们尚未连接到数据库,所以这条信息是合理的。

 

连接到 MySQL 实例

使用以下类似命令连接数据库

\c root@localhost

再次检查状态

再次执行 \status 命令检查一下状态。

 MySQL  localhost  JS > \status
MySQL Shell version 8.0.37

Connection Id:                25
Current schema:               
Current user:                 root@localhost
SSL:                          Not in use.
Using delimiter:              ;
Server version:               8.0.32 MySQL Community Server - GPL
Protocol version:             Classic 10
Client library:               8.0.37
Connection:                   Localhost via UNIX socket
Unix socket:                  /data/mysql_data/mysql.sock
Server characterset:          utf8mb4
Schema characterset:          utf8mb4
Client characterset:          utf8mb4
Conn. characterset:           utf8mb4
Result characterset:          utf8mb4
Compression:                  Disabled
Uptime:                       11 days 19 hours 57 min 59.0000 sec

Threads: 2  Questions: 267  Slow queries: 8  Opens: 308  Flush tables: 13  Open tables: 45  Queries per second avg: 0.000
 MySQL  localhost  JS > 

可以看到实例的运行时间、当前使用的分隔符以及其他有用信息。有一次,我在创建存储函数时更改了分隔符,却忘了把它改回 ;。第二天,我花了很多时间来确定为什么我的查询都无法正常工作。在使用了 \status 之后,我立刻发现了问题所在。

 

切换到指定的数据库

\u devdb

再次检查一下状态,看看当前的 schema 是不是已经切换了

MySQL Shell version 8.0.37

Connection Id:                25
Current schema:               devdb
Current user:                 root@localhost
SSL:                          Not in use.
Using delimiter:              ;
Server version:               8.0.32 MySQL Community Server - GPL
Protocol version:             Classic 10
Client library:               8.0.37
Connection:                   Localhost via UNIX socket
Unix socket:                  /data/mysql_data/mysql.sock
Server characterset:          utf8mb4
Schema characterset:          utf8mb4
Client characterset:          utf8mb4
Conn. characterset:           utf8mb4
Result characterset:          utf8mb4
Compression:                  Disabled
Uptime:                       11 days 19 hours 58 min 33.0000 sec

Threads: 2  Questions: 274  Slow queries: 8  Opens: 308  Flush tables: 13  Open tables: 45  Queries per second avg: 0.000

 

总结

MySQL Shell 提供了一种快速方法来检查与 MySQL 实例的连接状态。\status 命令可用于验证当前正在使用的连接,或检查连接使用的当前用户或分隔符。该命令还可以帮助识别字符集的潜在问题。