檢視使用 MySQL Shell 的連線狀態

abce發表於2024-06-24

啟動 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 命令可用於驗證當前正在使用的連線,或檢查連線使用的當前使用者或分隔符。該命令還可以幫助識別字符集的潛在問題。

相關文章