通过SQL显示MySQL主机命令
问题描述:
Show Database
Use database
show tables
Describe <table>
一切都很好,但有没有可能显示当前连接主机。 不是connection_id,而是主机的IP地址或名称。通过SQL显示MySQL主机命令
答
要获取当前的主机名: -
select @@hostname;
show variables where Variable_name like '%host%';
要获取主机的所有传入的请求: -
select host from information_schema.processlist;
根据您最后的评论,
我不认为你可以解决IP使用纯MySQL的功能,
因为它需要一个网络查找,这可能是需要长时间的主机名。
然而,MySQL的文件提到这一点: -
resolveip google.com.sg
答
也许
mysql> show processlist;
+1
这是一个糟糕的建议,如果你想远程访问。 –
答
我想你试图让conneting用户的远程主机.. 。
你可以像在命令“为myuser @本地”的字符串:
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地址conneting你会得到ipadress而不是主机名。
答
show variables where Variable_name='hostname';
,可以帮助你!
我没有远程主机在ATM上测试,但“SELECT @@ hostname”给我的本地主机。如果MySQL会话连接到不同的主机,它会显示远程主机名?我可以获得IP吗? –
是的,如果你来自其他主机,它会显示不同的主机。然而,解决相应的IP是有点难... – ajreal
是否有可能从My-SQL获得IP?那太好了。为@@主机名投一票,谢谢!将接受IP如果不可能 –