通过SQL命令显示MySQL主机

时间:2011-11-27 02:39:42

标签: mysql sql database

Show Database
Use database
show tables
Describe <table>

一切都很好,但是可以显示当前的连接主机。 不是connection_id,而是主机的IP地址或名称。

5 个答案:

答案 0 :(得分:177)

获取当前主机名: -

select @@hostname;
show variables where Variable_name like '%host%';

获取所有传入请求的主机: -

select host from information_schema.processlist;

根据您的上次评论,
我不认为你可以使用纯mysql函数解析主机名的IP,
因为它需要网络查找,这可能需要很长时间。

然而,mysql文档提到了这一点: -

resolveip google.com.sg

docs: - http://dev.mysql.com/doc/refman/5.0/en/resolveip.html

答案 1 :(得分:16)

也许

mysql> show processlist;

答案 2 :(得分:6)

我认为您尝试获取连接用户的远程主机...

您可以获得类似于&#39; myuser @ localhost&#39;的字符串。来自命令:

SELECT USER()

您可以将此结果拆分为&#39; @&#39;签收,得到零件:

-- delivers the "remote_host" e.g. "localhost" 
SELECT SUBSTRING_INDEX(USER(), '@', -1) 

-- delivers the user-name e.g. "myuser"
SELECT SUBSTRING_INDEX(USER(), '@', 1)

如果您通过IP地址连接,您将获得ipadress而不是主机名。

答案 3 :(得分:1)

show variables where Variable_name='hostname'; 

这可以帮到你!!

答案 4 :(得分:0)

这也可以通过一个命令来实现。我在 MySQL 中尝试了这些查询

获取主机名:

mysql> SHOW GLOBAL VARIABLES LIKE 'HOSTNAME';

获取端口:

mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';