我试图用一个简单的SQL语句来获取客户端的IP地址.我不想使用PHP或其他技术.只有纯SQL.我用的时候
SELECT USER();
Run Code Online (Sandbox Code Playgroud)
我明白了
dbouser@host.i.do.not.care.of
Run Code Online (Sandbox Code Playgroud)
我用的时候
SELECT CURRENT_USER();
Run Code Online (Sandbox Code Playgroud)
我明白了
dbouser@%
Run Code Online (Sandbox Code Playgroud)
但是我如何获得普通IP?非常感谢提前.
Mar*_*rkR 40
您将只获得与MySQL通信的客户端进程的IP地址.假设这是你想要的:
select host from information_schema.processlist WHERE ID=connection_id();
Run Code Online (Sandbox Code Playgroud)
将为您提供连接到当前连接上的mysql服务器的主机名(或IP地址,如果未启用名称解析,通常不会).
仅在没有端口号的情况下获取IP地址.
select SUBSTRING_INDEX(host,':',1) as 'ip' from information_schema.processlist WHERE ID=connection_id();
小智 5
@mvf - 你可以这样做而不是反向:
SELECT SUBSTRING_INDEX(USER(), '@', -1) AS ip;
Run Code Online (Sandbox Code Playgroud)