MySQL显示当前连接信息


124

我正在MySQL终端会话中,但是我不知道我连接到哪个服务器,或者我连接到哪个数据库。

是否有一条MySQL命令会告诉我我现在正在使用的主机,端口,用户名和数据库?


6
可以使用“显示像'port'这样的变量”来拾取港口
马丁·克莱顿

2
您将键入“ \ s”以获取当前数据库的信息
Shivam

可以在mysql命令行始终显示当前DB-名字就像MariaDB的MySQL [sys]>
漫游者

Answers:



137

您可以在MySQL客户端中使用status命令。

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.5.8, for Win32 (x86)

Connection id:          1
Current database:       test
Current user:           ODBC@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.5.8 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
Uptime:                 7 min 16 sec

Threads: 1  Questions: 21  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.48
--------------

mysql>

有可能通过PHP从MySQL查询输出此数据?
马丁

您使用哪个版本来运行此命令?我认为您在mysql客户端和mysqladmin程序之间感到困惑。mysqladmin -u root -p status这是我的输出:正常运行时间:79625线程:3问题:9903慢查询:1打开:106刷新表:1打开表:99查询每秒平均:0.124它不显示数据库信息也被连接。

如果我在navicat的cmd上执行了此命令,它将给我1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'status' at line 1错误。但是,如果我在mysql客户端上运行它,那还可以。
刘东华

43

如果您想知道运行Mysql的本地主机端口号,可以在MySQL命令行客户端上使用此查询-

SHOW VARIABLES WHERE Variable_name = 'port';


mysql> SHOW VARIABLES WHERE Variable_name = 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.00 sec)

它将为您提供运行MySQL的端口号。


如果您想知道Mysql主机名,可以在MySQL命令行客户端上使用此查询-

SHOW VARIABLES WHERE Variable_name = 'hostname';


mysql> SHOW VARIABLES WHERE Variable_name = 'hostname';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| hostname          | Dell  |
+-------------------+-------+
1 row in set (0.00 sec)

它将为您提供mysql的主机名。


如果您想知道Mysql用户名,则可以在MySQL命令行客户端上使用此查询-

select user();   


mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

它将为您提供mysql的用户名。


或者,您可以使用Yousui的答案mysql> status,在单个命令中返回所有这些信息。
一位编码人员

1
Yousui的答案不包括主机名。另外,如果您只想返回指定值之一而不是整个列表,这些命令将非常有用。
raphael75 '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.