[SQL] MySQL의에서 주소 IP 클라이언트를 검색
SQLMySQL의에서 주소 IP 클라이언트를 검색
나는 간단한 SQL 문을 사용하여 클라이언트의 IP 주소를 얻기 위해 노력하고있어. 나는 PHP 또는 다른 기술을 사용하지 않습니다. 순수한 SQL. 언제 사용
SELECT USER();
나는 얻다
dbouser@host.i.do.not.care.of
언제 사용
SELECT CURRENT_USER();
나는 얻다
dbouser@%
그러나 어떻게 일반 IP를받을 수 있나요? 많은 감사드립니다.
해결법
-
==============================
1.당신은 MySQL과 통신하는 클라이언트 프로세스의 IP 주소를 얻을 것이다. 이것은 당신이 원하는 것입니다 가정 :
당신은 MySQL과 통신하는 클라이언트 프로세스의 IP 주소를 얻을 것이다. 이것은 당신이 원하는 것입니다 가정 :
select host from information_schema.processlist WHERE ID=connection_id();
당신에게 현재 연결에 MySQL 서버에 연결 (그것은 일반적으로하지 않습니다 이름 확인을 사용할 수없는 경우 또는 IP 주소) 호스트 이름을 제공 할 것입니다.
-
==============================
2.전용 포트 번호없이 IP 주소를 얻으려면.
전용 포트 번호없이 IP 주소를 얻으려면.
(호스트 '', 1)을 선택 SUBSTRING_INDEX information_schema.processlist에서 'IP'등을 WHERE ID = CONNECTION_ID ();
-
==============================
3.@mvf - 대신 당신이 할 수있는 역 :
@mvf - 대신 당신이 할 수있는 역 :
SELECT SUBSTRING_INDEX(USER(), '@', -1) AS ip;
-
==============================
4.
SELECT REVERSE(SUBSTRING_INDEX(REVERSE(USER()),'@',1)) as ip; SELECT SUBSTRING(USER(), LOCATE('@', USER())+1) as ip;
from https://stackoverflow.com/questions/6263453/retrieve-client-ip-address-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 외래 키는 기본 키의 역할을 할 수 있습니까? (0) | 2020.07.01 |
---|---|
[SQL] MySQL은 - VARCHAR 컬럼에서 숫자 값만 선택 (0) | 2020.07.01 |
[SQL] "주문은"열 이름에 대한 매개 변수를 사용하여 (1) | 2020.07.01 |
[SQL] 하나의 MySQL의 문에서 자르기 여러 테이블 (0) | 2020.07.01 |
[SQL] 임의의 사용자가보기에 모든 권한을 부여하는 방법 (0) | 2020.07.01 |