MySQL 이벤트 리스너

MySQL 이벤트 리스너 (MySQL event listener)

MySQL 이벤트 리스너 플러그인은 쿼리 이벤트를 외부 MySQL 데이터베이스로 스트리밍해 주는 기능이에요.

출처: 문서

본문

MySQL 이벤트 리스너는 쿼리 이벤트를 외부 MySQL 데이터베이스로 스트리밍해요. 데이터베이스에 저장된 쿼리 히스토리는 MySQL에서 직접 조회할 수도 있고, MySQL 커넥터를 이용한 Trino 카탈로그를 통해서도 조회할 수 있어요.

배경 (Rationale)

이 이벤트 리스너는 Trino 클러스터의 쿼리 히스토리를 저장하기 위한 첫 단계예요. 쿼리 이벤트는 CPU·메모리 사용 메트릭, 특정 컬럼 수준까지 내려간 접근 데이터, 쿼리 처리에 관한 메타데이터를 제공해 줘요.

수집 시스템을 Trino와 분리해 실행하면 성능 영향이 줄어들고, 클라이언트를 대상으로 하지 않는 변경으로 인한 다운타임도 피할 수 있어요.

요구사항 (Requirements)

다음 단계를 수행해야 해요:

  • MySQL 데이터베이스를 생성하세요.
  • 데이터베이스의 JDBC 연결 URL을 확인하세요.
  • Trino 코디네이터에서 MySQL로 네트워크 접근이 가능한지 확인하세요. 기본 포트는 3306이에요.

설정 (Configuration)

MySQL 이벤트 리스너 플러그인을 설정하려면 etcmysql-event-listener.properties라는 이벤트 리스너 속성 파일을 만들고, 예시로 다음 내용을 넣어 주세요:

event-listener.name=mysql
mysql-event-listener.db.url=jdbc:mysql://example.net:3306

코디네이터의 etc/config.properties에는 이벤트 리스너 설정 파일을 등록해야 해요:

event-listener.config-files=etc/mysql-event-listener.properties

더 알아보기 (Learn more)

MySQL을 Trino에서 질의하는 방법이 궁금하다면 MySQL 커넥터 문서를 이어서 읽어 보세요.