반응형

# 같은듯 다른 느낌(localhost vs 127.0.0.1)

 

localhost라는 호스트 이름은 일반적으로 IP주소 127.0.0.1의 다른 명칭이지만 Mysql에서는 다소 다른 기본동작을 보인다.

연결할 때 호스트 이름 매개변수로 localhost를 지정하면, 예상대로 기본적인 TCP/IP 대신 유닉스 소캣을 통해 연결을 시도한다.

그러므로 다음 명령은 유닉스 소켓을 통해 연결할 것이다.

mysql --host=localhost

 

이것은 사람들의 예측대로 작동하지 않으므로 좋지 않은 설계이지만 이를 변경하면 오래된 응용프로그램과 클라이언트 라이브러리와의 호환성이 깨질 수 있으므로, 변경하기엔 무리가 있다.

실행되는 장치에 TCP/IP로 연결하는 방법이 두가지 있다.

호스트 이름 대신 IP 주소를 지정하거나 프로토콜을 명시적으로 지정하는 것이다.

mysql --host=127.0.0.1

mysql --host=localhost --protocol=tcp

 

 

SSH 터널링을 구성할 때 localhost에서 정방향 TCP 포트에 연결을 시도하면 작동하지 않는다.

포트로 연결하려면 TCP를 사용해야하므로, 대신 IP 주소 127.0.0.1을 사용해야 한다.

 

 

이 호스트 이름에는 특별한 점이 또 있다. Mysql은 localhost를 % 와일드 카드에 포함시키지 않는다.

 

다시말해, user@'%'user@localhost에 권한을 지정하는 것은 중복이 아니다.

--> 똑같은 권한을 왜 두번이나 넣었지? 라고 생각했는데.. 다르구나..

반응형

'쇠똥굴리기(BOOK) > Mysql 성능최적화' 카테고리의 다른 글

실행계획(explain) 사용  (2) 2019.09.25
로컬 호스트 전용 연결  (0) 2019.09.17
운영체제 보안  (0) 2019.09.10
1.Mysql 아키텍처  (0) 2019.09.04
INTRO  (0) 2019.09.04
블로그 이미지

dung beetle

취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

,