MariaDB 접속 가이드

MariaDB 접속 가이드

MariaDB에 붙는 방법은 사실 생각보다 사소한 옵션 몇 개면 충분해요. 이 가이드는 mariadb 같은 클라이언트 프로그램으로 서버에 접속할 때 쓰는 파라미터를 자세히 설명해 줘요. 기본 접속 동작이 어떻게 되는지, 각 옵션을 어떻게 바꾸는지, TLS 보안 연결은 어떻게 설정하는지를 순서대로 살펴볼게요.

출처: https://mariadb.com/docs/server/mariadb-quickstart-guides/mariadb-connecting-guide

기본 접속 동작

접속 파라미터를 명시하지 않으면 기본값이 사용돼요. mariadb 클라이언트로 기본값만 써서 접속하려면 파라미터 없이 이렇게 해요.

mariadb

이 경우 보통 다음과 같은 기본값이 적용돼요.

  • 호스트 이름: localhost
  • 사용자 이름: Unix 계열에서는 로그인한 사용자의 이름, Windows에서는 ODBC
  • 비밀번호: 보내지 않음
  • 데이터베이스: 서버에 접속만 하고 특정 데이터베이스에는 들어가지 않음
  • 소켓: 기본 소켓 파일 사용

기본값 재정의하기

옵션을 지정하면 기본값을 바꿀 수 있어요.

mariadb -h 166.78.144.191 -u username -ppassword database_name
  • -h 166.78.144.191localhost 대신 호스트 IP를 지정해요.
  • -u username — MariaDB 사용자를 지정해요.
  • -ppassword — 비밀번호를 지정해요. 주의: -p와 비밀번호 사이에 공백이 있으면 안 돼요. 비밀번호를 명령줄에 직접 적는 건 보안상 좋지 않으니, -p만 쓰고 프롬프트에서 입력하는 방식이 더 안전해요.
  • database_name — 접속할 데이터베이스 이름으로, 모든 옵션 뒤 첫 번째 인자로 줘요.
  • 접속에는 기본 TCP/IP 포트(보통 3306)가 사용돼요.

주요 접속 파라미터

  • host--host=name 또는 -h name. MariaDB 서버가 있는 호스트를 지정해요. 기본값은 localhost이고, 기본적으로 원격 로그인은 허용되지 않아요.
  • password--password[=passwd] 또는 -p[passwd]. 비밀번호 값을 명령줄에 직접 적지 말고 프롬프트로 입력받는 게 보안 모범 사례예요.
  • port--port=num 또는 -P num. 접속에 쓸 TCP/IP 포트 번호를 지정해요. 기본값은 3306.
  • protocol--protocol=name. 접속 프로토콜을 지정해요. 값은 대소문자 무시하고 TCP, SOCKET, PIPE, MEMORY가 가능해요. 기본값은 운영체제에 가장 효율적인 프로토콜이에요(Unix에서는 보통 SOCKET).
    • TCP — TCP/IP 접속(로컬·원격 모두). 모든 OS에서 가능.
    • SOCKET — Unix 소켓 파일 접속(Unix의 로컬 서버만). --socket을 지정하지 않으면 기본값은 /tmp/mysql.sock.
    • PIPE — 명명된 파이프(named pipe) 접속. Windows 전용.
    • MEMORY — 공유 메모리 접속. Windows의 로컬 서버만.
  • socket--socket=name 또는 -S name. Unix에서는 소켓 파일을, Windows에서는 명명된 파이프 이름을 지정해요.
  • user--user=name 또는 -u name. 접속에 쓸 MariaDB 사용자 이름을 지정해요.

TLS 옵션

TLS(Transport Layer Security)로 보안 연결을 만드는 옵션들이에요.

  • --ssl — TLS를 켜요. 다른 --ssl-* 플래그를 쓰면 자동으로 켜지고, 끄려면 --skip-ssl.
  • --ssl-ca=name — PEM 형식의 CA 파일 (암시적으로 --ssl).
  • --ssl-capath=name — PEM 형식 CA 인증서가 든 디렉토리 (--ssl 암시).
  • --ssl-cert=name — 클라이언트 X.509 인증서 (--ssl 암시).
  • --ssl-cipher=name — 사용할 TLS 암호화 스위트 (--ssl 암시).
  • --ssl-key=name — 클라이언트 X.509 개인 키 (--ssl 암시).
  • --ssl-crl=name / --ssl-crlpath=name — 인증서 폐기 목록 파일/디렉토리.
  • --ssl-verify-server-cert — 서버 인증서의 "Common Name"이 접속 호스트명과 일치하는지 검증해요. 기본은 꺼짐.

옵션 파일

접속 파라미터는 옵션 파일(설정 파일)에도 적어 둘 수 있어요. 대부분의 MariaDB 클라이언트는 시작 시 옵션 파일을 읽어요. 클라이언트가 어떤 옵션 파일을 읽는지 확인하려면 보통 --help 옵션으로 실행하면 돼요.

더 알아보기