Show Database
Use database
show tables
Describe <table>
Alles gut und gut, aber es ist möglich, den aktuellen Verbindungshost anzuzeigen. Nicht connection_id, sondern die IP-Adresse oder der Name des Hosts.
Show Database
Use database
show tables
Describe <table>
Alles gut und gut, aber es ist möglich, den aktuellen Verbindungshost anzuzeigen. Nicht connection_id, sondern die IP-Adresse oder der Name des Hosts.
Antworten:
So erhalten Sie den aktuellen Hostnamen: -
select @@hostname;
show variables where Variable_name like '%host%';
So erhalten Sie Hosts für alle eingehenden Anfragen:
select host from information_schema.processlist;
Aufgrund Ihres letzten Kommentars
glaube ich nicht, dass Sie die IP-Adresse für den Hostnamen mithilfe der reinen MySQL-Funktion auflösen können,
da hierfür eine Netzwerksuche erforderlich ist, die lange dauern kann .
In MySQL-Dokumenten wird jedoch Folgendes erwähnt:
resolveip google.com.sg
Dokumente: - http://dev.mysql.com/doc/refman/5.0/en/resolveip.html
Vielleicht
mysql> show processlist;
Ich denke, Sie versuchen, den Remote-Host des vernetzten Benutzers zu bekommen ...
Sie können einen String wie 'myuser @ localhost' über den folgenden Befehl abrufen:
SELECT USER()
Sie können dieses Ergebnis auf dem @ -Zeichen aufteilen, um die Teile zu erhalten:
-- delivers the "remote_host" e.g. "localhost"
SELECT SUBSTRING_INDEX(USER(), '@', -1)
-- delivers the user-name e.g. "myuser"
SELECT SUBSTRING_INDEX(USER(), '@', 1)
Wenn Sie über eine IP-Adresse eine Verbindung herstellen, erhalten Sie die IP-Adresse anstelle des Hostnamens.
show variables where Variable_name='hostname';
Das könnte dir helfen !!