복붙노트

[SQL] MySQL의에서 주소 IP 클라이언트를 검색

SQL

MySQL의에서 주소 IP 클라이언트를 검색

나는 간단한 SQL 문을 사용하여 클라이언트의 IP 주소를 얻기 위해 노력하고있어. 나는 PHP 또는 다른 기술을 사용하지 않습니다. 순수한 SQL. 언제 사용

SELECT USER();

나는 얻다

dbouser@host.i.do.not.care.of

언제 사용

SELECT CURRENT_USER();

나는 얻다

dbouser@%

그러나 어떻게 일반 IP를받을 수 있나요? 많은 감사드립니다.

해결법

  1. ==============================

    1.당신은 MySQL과 통신하는 클라이언트 프로세스의 IP 주소를 얻을 것이다. 이것은 당신이 원하는 것입니다 가정 :

    당신은 MySQL과 통신하는 클라이언트 프로세스의 IP 주소를 얻을 것이다. 이것은 당신이 원하는 것입니다 가정 :

    select host from information_schema.processlist WHERE ID=connection_id();
    

    당신에게 현재 연결에 MySQL 서버에 연결 (그것은 일반적으로하지 않습니다 이름 확인을 사용할 수없는 경우 또는 IP 주소) 호스트 이름을 제공 할 것입니다.

  2. ==============================

    2.전용 포트 번호없이 IP 주소를 얻으려면.

    전용 포트 번호없이 IP 주소를 얻으려면.

    (호스트 '', 1)을 선택 SUBSTRING_INDEX information_schema.processlist에서 'IP'등을 WHERE ID = CONNECTION_ID ();

  3. ==============================

    3.@mvf - 대신 당신이 할 수있는 역 :

    @mvf - 대신 당신이 할 수있는 역 :

    SELECT SUBSTRING_INDEX(USER(), '@', -1) AS ip;
    
  4. ==============================

    4.

    SELECT REVERSE(SUBSTRING_INDEX(REVERSE(USER()),'@',1)) as ip;
    SELECT SUBSTRING(USER(), LOCATE('@', USER())+1) as ip;
    
  5. from https://stackoverflow.com/questions/6263453/retrieve-client-ip-address-in-mysql by cc-by-sa and MIT license