교통수단 찾기

교통수단 찾기

MySQL 클라이언트(예 mysql: )를 사용할 때 서버에 연결하기 위해 Unix 소켓 파일을 사용하는지 아니면 TCP/IP를 사용하는지 어떻게 확인할 수 있습니까?

답변1

교통수단 찾기

시도해 보면 netstat -ln | grep 'mysql'출력을 통해 어떻게 연결되는지 확인할 수 있습니다. 쉘에 접근할 수 있는 경우

Unix에서 MySQL 프로그램은 호스트 이름 localhost를 다른 네트워크 기반 프로그램과 비교할 때 예상할 수 있는 방식이 아닌 특수하게 처리합니다. 로컬 호스트에 연결하기 위해 MySQL 프로그램은 Unix 소켓 파일을 사용하여 로컬 서버에 연결을 시도합니다.

이는 포트 번호를 지정하기 위해 --port또는 옵션이 제공되는 경우에도 발생합니다.-P

연결 유형에 대해 알고 싶다면이내에mysql CLI에서는 "\s"(상태) 명령을 사용합니다.

mysql> \s

출력에는 다음 중 하나와 유사한 줄이 포함됩니다(Unix의 경우).

Connection:             127.0.0.1 via TCP/IP

또는

Connection:             Localhost via UNIX socket

특정 전송 강제

클라이언트가 로컬 서버에 대한 TCP/IP 연결을 설정하도록 하려면 호스트 이름 값 127.0.0.1 또는 로컬 서버의 IP 주소나 이름을 사용 --host하거나 지정하십시오. -h옵션을 사용하여 localhost에 대해서도 연결 프로토콜을 명시적으로 지정할 수도 있습니다 --protocol=TCP. 예를 들어:

shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

--protocol={TCP|SOCKET|PIPE|MEMORY}옵션은 서버에 연결하는 데 사용되는 프로토콜을 명시적으로 지정합니다. 이는 일반적으로 추가 연결 매개변수로 인해 원하는 프로토콜과 다른 프로토콜이 사용되는 경우에 유용합니다. 예를 들어, 기본적으로 Unix의 localhost에 대한 연결은 Unix 소켓 파일을 사용하여 설정됩니다.

shell> mysql --host=localhost

TCP/IP 연결을 강제하려면 다음 --protocol옵션을 지정하십시오.

shell> mysql --host=localhost --protocol=TCP

계약 유형:

  • TCP: 로컬 또는 원격 서버에 대한 TCP/IP 연결입니다. 모든 플랫폼에서 사용 가능합니다.
  • SOCKET: 로컬 서버에 대한 Unix 소켓 파일 연결입니다. UNIX에만 적용됩니다.
  • PIPE: 로컬 또는 원격 서버에 대한 명명된 파이프 연결입니다. Windows에서만 사용할 수 있습니다.
  • MEMORY: 로컬 서버에 대한 공유 메모리 연결입니다. Windows에서만 사용할 수 있습니다.

Unix 소켓 파일 연결은 TCP/IP보다 빠르지만 동일한 컴퓨터의 서버에 연결할 때만 사용할 수 있습니다.

관련 정보