【问题标题】:MySQL show current connection infoMySQL 显示当前连接信息
【发布时间】:2014-09-20 23:38:30
【问题描述】:

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

是否有一个 MySQL 命令可以告诉我我现在使用的主机、端口、用户名和数据库?

【问题讨论】:

  • 可以使用“show variables like 'port'”获取端口
  • 输入“\s”获取当前数据库a的信息
  • mysql cli 是否可以像 mariadb MySQL [sys]> 一样总是显示当前的数据库名称

标签: mysql


【解决方案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 答案,它在一个命令中返回所有这些。
    • 优穗的回答不包括主机名。此外,如果您只想返回指定值之一而不是整个列表,这些命令非常有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    相关资源
    最近更新 更多