Show Database
Use database
show tables
Describe <table>
모두 훌륭하지만 현재 연결 호스트를 표시 할 수 있습니다. connection_id가 아니라 호스트의 IP 주소 또는 이름입니다.
답변:
현재 호스트 이름을 얻으려면 :-
select @@hostname;
show variables where Variable_name like '%host%';
들어오는 모든 요청에 대한 호스트를 얻으려면 :-
select host from information_schema.processlist;
귀하의 마지막 의견에 따르면
순수한 mysql 함수를 사용하여 호스트 이름에 대한 IP를 확인할 수 없다고 생각
합니다. 네트워크 조회가 필요하기 때문에 시간이 오래 걸릴 수 있습니다.
그러나 mysql 문서는 이것을 언급합니다.
resolveip google.com.sg
conneting 사용자의 원격 호스트를 얻으려고 시도하는 것 같습니다 ...
다음 명령에서 '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를 받게됩니다.
show variables where Variable_name='hostname';
그것은 당신을 도울 수 있습니다!