< 정리 >

 

1. Ping 명령어 활용

 

ping [서버 IP 주소 또는 도메인 이름]

 

2. Telnet 명령어 활용

 

telnet [서버 IP 주소 또는 도메인 이름] 3306

 

- 여기서 3306은 MySQL이 사용하는 포트

 

3. MySQL 사용(접속을 시도하는 컴퓨터에 MySQL 설치되어 있어야.)

 

mysql -h [서버 IP 주소] -u [사용자 이름] -p

 

 

 

경험상, mysql을 사용하는 것이 가장 간편했다.

 

telnet은 윈도에선 설치해야 하고 

 

ping은 데이터베이스 서버에서 막아놓으면 확인할 방법이 없다.

 


< 주의! > 

 

1. ping은 데이터베이스 서버의 인바운드 규칙에 따라, 응답이 올 수도 있고 안 올 수도 있다. 

 

예를 들어, AWS를 사용하여 데이터베이스를 구성하려고 할 때, 보안 설정에서 인바운드 규칙에 ICMP패킷(핑과 관련된)을 허용하느냐, 차단하느냐에 따라 Ping 응답의 유, 무가 결정된다. 

 

2. mysql로 외부에서 접속을 시도하는 경우, 데이터베이스 서버의 mysql에서 설정한 mysql의 사용자의 권한에 따라 외부에서 접속하는 것이 허용되지 않을 수 있다. 

 

예를 들어 

 

> mysql [서버 ip 주소] -u [사용자 이름] -p

 

입력 후, 패스워드를 넘기면 사용자에 따라 패스워드가 맞는데도 불구하고 접속 불가능한 경우가 있을 수 있다. 

그 이유는 데이터베이스 서버의 mysql상에서 사용자에게 부여한 권한에 따라 달라지는 결과이다. 

 

(외부에서 데이터베이스 서버의 mysql의 user1, user2로는 접속 가능하지만, root로는 접속 불가능할 수 있다.)

 


 

< 참고사항 > 

 

1. ping, telnet은 윈도우, 리눅스 상관없이 모두 사용할 수 있다. 

 

 

 

 

 

'Visualization' 카테고리의 다른 글

Streamlit. 캐시(cache)에 대해  (0) 2024.08.14
Streamlit Share. 비밀번호 관리  (0) 2024.08.13

-- 코드를 입력하세요
WITH A AS(
SELECT 
HISTORY.CAR_ID, 
COUNT(*)

FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY  HISTORY LEFT JOIN CAR_RENTAL_COMPANY_CAR CAR 
ON (HISTORY.CAR_ID = CAR.CAR_ID)
WHERE TO_CHAR(START_DATE, 'MM') = '10' AND CAR_TYPE = '세단'
GROUP BY HISTORY.CAR_ID
ORDER BY HISTORY.CAR_ID DESC
    )
    
SELECT CAR_ID
FROM A
;

 


<포인트 정리>

 

1. GROUP BY로 묶었을 때, 각 그룹을 대표하는 하나의 값을 바로 알려주는 건 따로 없는 듯?

 

저런식으로 GROUP BY를 연산시키는 걸 SELECT로 하고 그 테이블을 다시 다른 쿼리에서 출력하는 형식으로.

 

-> 있네 DISTINCT

 


SELECT DISTINCT HISTORY.CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY HISTORY
JOIN CAR_RENTAL_COMPANY_CAR CAR
ON HISTORY.CAR_ID = CAR.CAR_ID
WHERE CAR.CAR_TYPE = '세단'
AND TO_CHAR(HISTORY.START_DATE, 'MM') = '10'
ORDER BY HISTORY.CAR_ID DESC;

+ Recent posts