실무로부터/새로운 사실
[리눅스] MySQL연결시 localhost와 127.0.0.1의 차이주의
솔헬레나
2023. 6. 12. 15:14
리눅스로 MySQL 서버 연결 시 host속성을 설정하는데, 이때 사용하는 localhost 와 127.0.0.1은 차이가 있다.
공통적으로 '자기자신'인 local server을 가리키는 loop back 이지만
- mysql 소켓 파일을 이용하여 접속 시
호스트가 localhost로 지정하면 unix domain socket를 이용하여 유닉스 프로세스간의 통신을 한다.
mysql -uroot -p --host=localhost -- socket=/tmp/mysql.sock
호스트가 127.0.0.1로 지정시, TCP/IP 통신방식을 사용한다.
> mysql -uroot -p --host=127.0.0.1 --port=3306
로컬서버에 설치된 MySQL 을 사용하는 경우에는 둘다 사용해도 괜찮지만
원격 호스트(외부)에 있는 MySQL서버에 접속 시 127.0.0.1 로 지정하여 사용해야한다.
유닉스 도메인 소켓 ?
TCP의 소켓과 동일한 API로 데이터를 주고받을 수 있는 local file 기반의 소켓이다.
TCP socket 보다 localhost 의 프로세스간 통신속도가 매우 빠르고 메모리 소모가 적다.
보고 배움