Loading...
MySQL 9.5 Reference Manual 9.5의 6.2.7 Connection Transport Protocols의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
예를 들어 mysql 및 mysqldump와 같은 MySQL 클라이언트 라이브러리를 사용하는 프로그램의 경우, MySQL은 TCP/IP, Unix 소켓 파일, 네임드 파이프, 공유 메모리 등 여러 전송 프로토콜을 기반으로 하는 서버에 대한 커넥션을 지원합니다. 이 섹션에서는 이러한 프로토콜을 선택하는 방법과, 이들이 유사한 점과 다른 점을 설명합니다.
특정 커넥션에 대해 전송 프로토콜을 명시적으로 지정하지 않으면, 암시적으로 결정됩니다. 예를 들어, localhost로의 커넥션은 Unix 및 Unix 계열 시스템에서는 소켓 파일 커넥션이 되고, 그렇지 않은 경우에는 127.0.0.1에 대한 TCP/IP 커넥션이 됩니다. 추가 정보는 Section 6.2.4, “Connecting to the MySQL Server Using Command Options”을 참조하십시오.
프로토콜을 명시적으로 지정하려면 --protocol 커맨드 옵션을 사용합니다. 아래 테이블은 --protocol에 사용할 수 있는 값과, 각 값에 적용 가능한 플랫폼을 보여줍니다. 값은 대소문자를 구분하지 않습니다.
--protocol Value | Transport Protocol Used | Applicable Platforms |
|---|---|---|
TCP | TCP/IP | All |
SOCKET | Unix socket file | Unix and Unix-like systems |
PIPE | Named pipe | Windows |
MEMORY | Shared memory | Windows |
TCP/IP 전송은 로컬 또는 원격 MySQL 서버에 대한 커넥션을 지원합니다.
소켓 파일, 네임드 파이프, 공유 메모리 전송은 로컬 MySQL 서버에 대한 커넥션만 지원합니다. (네임드 파이프 전송은 원격 커넥션도 허용하지만, 이 기능은 MySQL에서는 구현되어 있지 않습니다.)
전송 프로토콜이 명시적으로 지정되지 않은 경우, localhost는 다음과 같이 해석됩니다:
Unix 및 Unix 계열 시스템에서 localhost로의 커넥션은 소켓 파일 커넥션이 됩니다.
그 외의 경우, localhost로의 커넥션은 127.0.0.1에 대한 TCP/IP 커넥션이 됩니다.
전송 프로토콜이 명시적으로 지정된 경우, localhost는 해당 프로토콜에 따라 해석됩니다. 예를 들어, --protocol=TCP를 사용하는 경우, localhost로의 커넥션은 모든 플랫폼에서 127.0.0.1에 대한 TCP/IP 커넥션이 됩니다.
TCP/IP 및 소켓 파일 전송은 Command Options for Encrypted Connections에 설명된 옵션을 사용하여 TLS/SSL 암호화의 대상이 됩니다. 네임드 파이프 및 공유 메모리 전송은 TLS/SSL 암호화의 대상이 되지 않습니다.
커넥션이 기본적으로 시큐어한 것은, 기본적으로 시큐어한 전송 프로토콜을 통해 이루어진 경우입니다. 그렇지 않고 TLS/SSL 암호화의 대상이 되는 프로토콜의 경우, 암호화를 사용하여 커넥션을 시큐어하게 만들 수 있습니다:
TCP/IP 커넥션은 기본적으로 시큐어하지 않지만, 암호화를 통해 시큐어하게 만들 수 있습니다.
소켓 파일 커넥션은 기본적으로 시큐어합니다. 또한 암호화를 적용할 수도 있지만, 소켓 파일 커넥션을 암호화해도 보안성은 더 높아지지 않고 CPU 부하만 증가합니다.
네임드 파이프 커넥션은 기본적으로 시큐어하지 않으며, 시큐어하게 만들기 위한 암호화의 대상이 되지 않습니다. 그러나 어떤 MySQL 사용자가 네임드 파이프 커넥션을 사용할 수 있는지를 제어하기 위해 named_pipe_full_access_group 시스템 변수를 사용할 수 있습니다.
공유 메모리 커넥션은 기본적으로 시큐어합니다.
require_secure_transport 시스템 변수가 활성화된 경우, 서버는 어떤 형태로든 시큐어 전송을 사용하는 커넥션만 허용합니다. 앞선 설명에 따르면, TLS/SSL로 암호화된 TCP/IP, 소켓 파일, 또는 공유 메모리를 사용하는 커넥션은 시큐어 커넥션입니다. TLS/SSL로 암호화되지 않은 TCP/IP 커넥션과 네임드 파이프 커넥션은 시큐어하지 않습니다.
또한 Configuring Encrypted Connections as Mandatory를 참조하십시오.
모든 전송 프로토콜은 클라이언트와 서버 간 트래픽에 압축을 사용할 수 있습니다. 특정 커넥션에 대해 압축과 암호화를 모두 사용하는 경우, 압축이 암호화보다 먼저 수행됩니다. 자세한 내용은 Section 6.2.8, “Connection Compression Control”을 참조하십시오.
6.2.6 Connecting to the Server Using DNS SRV Records
6.2.8 Connection Compression Control