I'm trying to get with a simple SQL statement the IP address of the client. I do not want to use PHP or other techniques. Only pure SQL. When I use
SELECT USER();
I get
dbouser@host.i.do.not.care.of
When I use
SELECT CURRENT_USER();
I get
dbouser@%
But how do I get the plain IP? Thanks a lot in advance.
解决方案
You will only get the IP address of the client process communicating with MySQL. Assuming this is what you want:
select host from information_schema.processlist WHERE ID=connection_id();
Will give you the host name (or IP address if name resolution is not enabled, which it is usually not) connecting to the mysql server on the current connection.