Trino

[Trino] MySQL Connector 추가

비번변경 2023. 3. 4. 21:47

개요

2023.03.02 - [Trino] 설치/구성/실행

2023.03.03 - [Trino] Trino CLI 설치

 

위 글에서 Trino 서버와 클라이언트를 설치해 봤는데, 이 글에서는 Trino를 이용해 MySQL에 접근할 수 있도록 MySQL Connector를 추가해보려고 한다.

 

조건

Trino 서버를 MySQL과 연동하기 위해서는 아래와 같은 조건이 필요하다.

  • MySQL 5.7, 8.0 이상의 버전
  • Trino Coordinator/Worker -> MySQL 네트워크 접근 허용

 

연결할 MySQL 서버의 주소, 포트, 접속 계정 정보 등을 미리 준비되어 있어야 한다.

 

 

구성

Connector는 TRINO_HOME/etc/catalog 경로 아래의 Catalog 속성 파일(*.properties)에 원하는 커넥터를 마운트 하는 방식으로 구성한다.

MySQL의 경우, 아래와 같은 내용이 필요하다.

connector.name=mysql
connection-url=jdbc:mysql://<MySQL 서버 IP 또는 URL>:<PORT>
connection-user=<MySQL 사용자 이름>
connection-password=<MySQL 사용자 비밀번호>


# 예시
connector.name=mysql
connection-url=jdbc:mysql://test-db.0000000000.ap-northeast-2.rds.amazonaws.com:3306
connection-user=admin
connection-password=admin

 

연결 확인

Trino 서버를 시작 또는 재시작하면 새로운 Catalog를 생성한다. 이후 CLI를 이용해 catalog 목록 및 MySQL catalog 내 데이터를 확인한다.

 

Trino 서버 시작 또는 재시작

# 시작
$TRINO_HOME/bin/launcher start

# 재시작
$TRINO_HOME/bin/launcher restart

 

CLI 접속 

trino --server <TRINO 서버 주소>:<PORT>

# 예시
trino --server localhost:8080

 

Calalog 확인

SHOW CATALOGS;

 

MySQL 내 데이터 확인

-- schema 목록 확인
SHOW SCHEMAS FROM mysql;

-- 특정 스키마의 table 목록 확인
SHOW TABLES FROM mysql.<schema>;

-- 특정 table 내 데이터 SELECT 
SELECT * 
FROM mysql.<schema>.<table>;

Trino 없이 MySQL을 사용할 때와 크게 다르지 않게 사용할 수 있다.

 

예시)

SELECT *
FROM mysql.study.test
WHERE title IS NOT null;

 

 

참고 문서

https://trino.io/docs/current/connector/mysql.html