[mysql] SQL 명령을 통해 MySQL 호스트 표시

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

문서 :-http: //dev.mysql.com/doc/refman/5.0/en/resolveip.html


답변

아마도

mysql> show processlist;


답변

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'; 

그것은 당신을 도울 수 있습니다!


답변