Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL이 Unix 소켓 대신 TCP로 연결하도록 하는 방법은 무엇입니까?


Mysql 클라이언트 라이브러리를 사용하는 'mysql' 및 'mysqldump'와 같은 프로그램은 TCP/IP, Unix와 같은 많은 전송 프로토콜의 도움으로 서버에 대한 MySQL 연결을 지원합니다. 소켓 파일, 명명된 파이프, 공유 메모리 등.

주어진 연결에 대해 전송 프로토콜이 지정되지 않은 경우 별도의 작업으로 결정됩니다.

예시

localhost에 연결하면 Unix 및 Unix 계열 시스템에서 소켓 파일 연결이 발생하고 그렇지 않으면 127.0.0.1에 대한 TCP/IP 연결이 됩니다. 특히 프로토콜을 지정해야 하는 경우 --protocol 명령 옵션을 사용하여 수행됩니다.

아래 표는 --protocol에 허용되는 값을 보여주고 이러한 각 값을 적용할 수 있는 플랫폼도 알려줍니다. 값은 대소문자를 구분하지 않습니다.

--프로토콜 값 사용된 전송 프로토콜 적용 가능한 플랫폼
TCP TCP/IP 전체
소켓 유닉스 소켓 파일 Unix 및 Unix 계열 시스템
파이프 명명된 파이프 윈도우
메모리 공유 메모리 윈도우

TCP/IP 전송은 로컬 또는 원격 MySQL 서버에 대한 연결도 지원합니다. 소켓 파일, 명명 파이프 및 공유 메모리 전송은 로컬 MySQL 서버에 대한 연결만 지원합니다. 명명된 파이프 전송은 원격 연결을 허용하지만 이 기능은 현재 MySQL에서 구현되지 않았습니다.

전송 프로토콜 – 지정되지 않음

전송 프로토콜이 지정되지 않은 경우 localhost는 -

로 해석됩니다.
  • Unix 및 Unix 계열 시스템에서 localhost에 연결하면 소켓 파일 연결이 됩니다.

  • 다른 시스템에서 localhost에 대한 연결은 127.0.0.1에 대한 TCP/IP 연결이 됩니다.

전송 프로토콜 – 지정됨

전송 프로토콜이 지정되면 localhost는 해당 특정 프로토콜을 기반으로 해석됩니다.