Show Database
Use database
show tables
Describe <table>
一切都很好,但是可以显示当前的连接主机吗?不是connection_id,而是主机的IP地址或名称。
发布于 2011-11-27 10:44:15
要获取当前主机名,请执行以下操作:
select @@hostname;
show variables where Variable_name like '%host%';
获取所有传入请求的主机:-
select host from information_schema.processlist;
基于你最后的评论,
我不认为您可以使用纯mysql函数来解析主机名的IP。
因为它需要网络查找,这可能需要很长时间。
然而,mysql文档提到:
resolveip google.com.sg
发布于 2011-11-27 10:46:04
也许吧
mysql> show processlist;
发布于 2016-08-16 16:16:16
我想你可以尝试获取连接用户的远程主机...
您可以通过以下命令获得类似'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而不是主机名。
https://stackoverflow.com/questions/8283248
复制相似问题