# 같은듯 다른 느낌(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 |