MySQL 显示当前连接信息
Posted
技术标签:
【中文标题】MySQL 显示当前连接信息【英文标题】:MySQL show current connection info 【发布时间】:2010-08-31 22:34:22 【问题描述】:我在 mysql 终端会话中,但我不知道我连接到什么服务器,或者我连接到什么数据库。
是否有一个 MySQL 命令可以告诉我我现在使用的主机、端口、用户名和数据库?
【问题讨论】:
可以使用“show variables like 'port'”获取端口 输入“\s”获取当前数据库a的信息 mysql cli 是否可以像 mariadbMySQL [sys]>
一样总是显示当前的数据库名称
【参考方案1】:
您可以使用一些 MYSQL 函数。像这个解决用户的:
SELECT USER();
这将返回类似root@localhost
的内容,以便您获得主机和用户。
要获取当前数据库,请运行以下语句:
SELECT DATABASE();
其他有用的功能可以在这里找到:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html
【讨论】:
【参考方案2】:您可以在 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 这是我的输出: Uptime: 79625 Threads: 3 Questions: 9903 Slow queries: 1 Opens: 106 Flush tables: 1 Open tables: 99 Queries per second avg: 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 客户端上运行它就可以了。【参考方案3】:
如果您想知道运行 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
答案,它在一个命令中返回所有这些。
优穗的回答不包括主机名。此外,如果您只想返回指定值之一而不是整个列表,这些命令非常有用。以上是关于MySQL 显示当前连接信息的主要内容,如果未能解决你的问题,请参考以下文章