Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 서버 연결을 위한 필수 명령줄 옵션 정리

MySQL 서버 연결 명령 옵션이란?

MySQL 클라이언트 프로그램은 서버에 연결하는 방식을 세밀하게 제어할 수 있는 다양한 옵션을 제공합니다. 이 옵션들을 활용하면 연결 대상 호스트 지정, 연결 암호화 여부, 압축 사용 여부 등을 자유롭게 설정할 수 있습니다.

이러한 옵션은 명령줄에서 직접 지정하거나 옵션 파일(option file)에 작성하여 사용할 수 있습니다. 아래에서 연결 설정에 활용되는 주요 명령 옵션을 살펴보겠습니다.

주요 연결 옵션 한눈에 보기

  • --default-auth: 사용할 인증 플러그인(authentication plugin)을 지정합니다.
  • --host: MySQL 서버가 실행 중인 호스트를 지정합니다.
  • --password: 서버에 접속할 때 사용할 비밀번호를 지정합니다.
  • --pipe: 네임드 파이프(named pipe)를 통해 서버에 연결합니다. Windows 환경에서만 사용할 수 있습니다.
  • --plugin-dir: 플러그인이 설치된 디렉터리 경로를 지정합니다.
  • --port: 연결에 사용할 TCP/IP 포트 번호를 지정합니다.
  • --protocol: 사용할 전송 프로토콜(transport protocol)을 지정합니다.
  • --socket: 사용할 Unix 소켓 파일 또는 Windows 네임드 파이프를 지정합니다.
  • --user: 서버 접속 시 사용할 MySQL 계정 이름을 지정합니다.

옵션 상세 설명

  • --default-auth=plugin: 클라이언트 측 인증 플러그인으로 어떤 것을 사용할지 힌트를 제공합니다.
  • --host=host_name, -h host_name: MySQL 서버가 실행되는 호스트를 지정합니다. 호스트명, IPv4 주소 또는 IPv6 주소를 사용할 수 있으며, 기본값은 localhost입니다.
  • --password[=pass_val], -p[pass_val]: 서버 접속에 사용할 MySQL 계정의 비밀번호입니다. 비밀번호 값은 생략할 수 있으며, 값을 생략하면 실행 후 대화형으로 입력하게 됩니다.
  • --port=port_num, -P port_num: TCP/IP 연결에 사용할 포트 번호를 지정합니다. 기본 포트 번호는 3306입니다.
  • --protocol={TCP|SOCKET|PIPE|MEMORY}: 서버 연결에 사용할 전송 프로토콜을 명시적으로 지정합니다.

실전 사용 예제

Unix 시스템에서 localhost로 접속할 때는 기본적으로 Unix 소켓 파일이 사용됩니다.

mysql --host=localhost

기본값 대신 TCP/IP 전송 방식을 강제로 사용하고 싶다면 --protocol 옵션을 지정하면 됩니다.

mysql --host=localhost --protocol=TCP

보안 관련 참고 사항

보안상의 이유로 명령줄에 비밀번호를 직접 입력하는 것은 권장되지 않습니다. 명령줄에 입력된 비밀번호는 ps와 같은 시스템 모니터링 도구를 통해 다른 사용자에게 노출될 수 있습니다. 따라서 옵션 파일이나 mysql_config_editor를 이용한 로그인 경(login-path)을 활용하는 것이 더 안전한 방법입니다.