connect mysql

connect mysql

connect mysql 명령은 대상(target)에 대한 세션을 인가하고, 연결을 위해 MySQL 클라이언트를 호출해요. 명령이 로컬 주소와 포트를 채워 넣어 줘요.

출처: HashiCorp Boundary docs

본문

예시

다음 예시는 ID가 ttcp_eTcZMueUYv인 대상에 MySQL 헬퍼로 연결하는 방법을 보여줘요.

$ boundary connect mysql -target-id ttcp_eTcZMueUYv \
    -dbname northwind \
    -username superuser \
    -format table

프롬프트가 뜨면 사용자 superuser의 비밀번호를 입력해야 해요.

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.30 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

사용법 (Usage)

$ boundary connect mysql [options] [args]

connect 명령 옵션 (Connect command options)

  • -authz-token (string: "") — 대상에 대한 authorize-session 액션을 통해 Boundary 컨트롤러가 반환한 인증 문자열이에요. -target-id를 설정하지 않은 경우에만 이 옵션이 필요해요. 값을 -로 설정하면 표준 입력에서 인증 문자열을 읽으려고 시도해요. BOUNDARY_CONNECT_AUTHZ_TOKEN 환경 변수로도 지정할 수 있어요.
  • -exec (string: "") — 설정하면 워커에 연결한 뒤 실행할 바이너리를 지정해요. PATH에 있는 바이너리나 절대 경로여야 해요. 모든 명령 플래그 뒤에 --(공백 + 하이픈 두 개 + 공백)가 오면 그 뒤의 인자는 그 바이너리에 그대로 전달돼요. BOUNDARY_CONNECT_EXEC 환경 변수로도 지정할 수 있어요.
  • -host-id (string: "") — 대상의 호스트 집합 중 연결할 특정 호스트의 ID예요. 특정 호스트를 정하지 않으면 Boundary가 임의로 하나를 골라요.
  • -inactive-timeout=<duration> — 연결 사이에 경과할 수 있는 시간(초)으로, 이 시간이 지나면 Boundary가 사용하지 않는 세션을 닫아요. 오래 실행되는 프로세스 도중 프록시가 끊긴다면 이 값을 늘려도 돼요. -1을 쓰면 타임아웃을 완전히 끄는 거예요.
  • -target-id (string: "") — 세션을 인가할 대상의 ID예요. 이 옵션은 -authz-token과 함께 쓸 수 없어요.
  • -target-name (string: "") — 스코프 파라미터와 대상 이름으로 세션을 인가할 때 사용하는 대상 이름이에요.
  • -target-scope-id (string: "") — 스코프 파라미터와 대상 이름으로 세션을 인가할 때 사용하는 대상 스코프 ID예요. -scope-name과는 상호 배타적이에요. BOUNDARY_CONNECT_TARGET_SCOPE_ID 환경 변수로도 지정할 수 있어요.
  • -target-scope-name (string: "") — 스코프 파라미터와 대상 이름으로 세션을 인가할 때 사용하는 대상 스코프 이름이에요. -scope-id와는 상호 배타적이에요. BOUNDARY_CONNECT_TARGET_SCOPE_NAME 환경 변수로도 지정할 수 있어요.

템플릿 값 (Templated values)

명령 인자에 치환되는 템플릿 값들이 있고, 이 값들은 실행된 명령의 환경 변수로도 주입돼요:

  • {{boundary.ip}} (BOUNDARY_PROXIED_IP) — boundary connect가 연 리슨 소켓의 IP 주소예요.
  • {{boundary.port}} (BOUNDARY_PROXIED_PORT) — boundary connect가 연 리슨 소켓의 포트예요.
  • {{boundary.addr}} (BOUNDARY_PROXIED_ADDR) — host:port 형식의 주소예요. 본질적으로 {{boundary.ip}}:{{boundary.port}}와 같아요.

MySQL 옵션

  • -dbname (string: "") — 클라이언트에 전달할 데이터베이스 이름이에요. BOUNDARY_CONNECT_DBNAME 환경 변수로도 지정할 수 있어요.
  • -style (string: "") — CLI가 MySQL 클라이언트를 호출하는 방식을 지정해요. 값을 지정하지 않았다면 -exec에 적절한 기본값을 설정해 주기도 해요. 기본값이자 현재 이해되는 값은 mysql이에요. BOUNDARY_CONNECT_MYSQL_STYLE 환경 변수로도 지정할 수 있어요.
  • -username (string: "") — 클라이언트에 전달할 사용자 이름이에요. 크레덴셜 스토어에서 가져온 자격 증명으로 덮어쓸 수도 있어요. BOUNDARY_CONNECT_USERNAME 환경 변수로도 지정할 수 있어요.

CLI 옵션 (CLI options)

명령별 옵션 외에, 모든 CLI 명령과 하위 명령에 공통으로 적용되는 옵션들이 있어요.

  • 연결 옵션 (Connection options)
  • 클라이언트 옵션 (Client options)
  • 출력 옵션 (Output options)
  • 환경 변수 (Environment variables)

더 알아보기 (Learn more)