Answers:
获取当前主机名:
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
我认为您尝试获取联网用户的远程主机...
您可以从以下命令获取类似于“ myuser @ localhost”的字符串:
SELECT USER()
您可以在“ @”符号上拆分此结果,以获取各部分:
-- 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而不是主机名。
show variables where Variable_name='hostname';
那可以帮助你!