Skip to main content
원격 MySQL 서버의 데이터베이스에 연결하고, ClickHouse와 MySQL 간에 데이터를 주고받기 위해 INSERTSELECT 쿼리를 수행할 수 있습니다. MySQL 데이터베이스 엔진은 쿼리를 MySQL 서버로 전달하므로 SHOW TABLESSHOW CREATE TABLE 같은 작업을 수행할 수 있습니다. 다음 쿼리는 수행할 수 없습니다.
  • RENAME
  • CREATE TABLE
  • ALTER

데이터베이스 생성

엔진 매개변수
  • host:port — MySQL 서버 주소입니다.
  • database — 원격 데이터베이스 이름입니다.
  • user — MySQL 사용자 이름입니다.
  • password — 사용자 비밀번호입니다.
설정

enable_compression

MySQL 프로토콜 connection에 대해 zlib 압축을 활성화합니다. 1로 설정하면 ClickHouse가 MySQL 서버에 프로토콜 수준의 압축을 요청합니다. 기본값: 0. 예시:

TLS/SSL

MySQL 암호화 연결의 자격 증명은 명명된 컬렉션의 키(또는 키-값 인수)로 전달됩니다. 값은 해당 PEM 파일의 내용이며, 명명된 컬렉션이나 쿼리에 복사할 수 있습니다. 비밀번호와 마찬가지로 로그 및 SHOW 쿼리에서는 마스킹됩니다. 동일한 자격 증명은 서버의 파일 경로를 ssl_ca, ssl_cert, ssl_key에 지정하는 방식으로도 제공할 수 있습니다. 단, 서버 구성 파일에 정의된 명명된 컬렉션에서만 가능하며, 이러한 값은 쿼리에서 재정의할 수 없습니다. 서버는 자체 권한으로 해당 파일을 열기 때문에 SQL에서 경로를 허용하면 MySQL 소스를 정의할 수 있는 모든 사용자가 로컬 파일 시스템을 탐색하고, 직접 읽을 권한이 없는 인증서와 키를 사용해 인증할 수 있게 됩니다.

데이터 타입 지원

공간 타입의 변환은(항상 변환되는 POINT 제외) 기본적으로 활성화된 mysql_datatypes_support_level 설정의 geometry 플래그로 제어됩니다. 일반 GEOMETRY 컬럼 타입은 구체적인 기하 타입을 포괄하는 Geometry 타입(구체적인 기하 타입에 대한 Variant)에 매핑됩니다. 이러한 컬럼에는 모든 하위 타입의 값을 저장할 수 있으므로, ClickHouse에 대응하는 타입이 없는 하위 타입(GEOMETRYCOLLECTION)의 값을 읽으면 읽기 시점에 예외가 발생합니다. 적절한 기하 타입을 사용하기 위해 이러한 비호환성은 허용됩니다. GEOMETRYCOLLECTION 타입으로 선언된 컬럼은 그 외의 모든 MySQL 데이터 타입과 마찬가지로 String으로 변환됩니다. Nullable을 지원합니다. 공간 컬럼은 다음 3가지 경우 기하 타입 대신 String(널 허용인 경우 Nullable(String))에 매핑됩니다. GEOMETRYCOLLECTION으로 선언된 경우, geometry 플래그가 비활성화되고 타입이 POINT가 아닌 경우, 또는 PointNullable 내부에 중첩할 수 있으므로 컬럼이 널 허용이고 타입이 POINT가 아닌 경우입니다. 세 경우 모두 문자열은 MySQL이 반환하는 값 그대로, 즉 4바이트 SRID 접두사 뒤에 WKB payload가 이어지는 형식으로 저장됩니다. 따라서 WKB 디코더에 전달하기 전에 앞의 4바이트를 제거하십시오.

전역 변수 지원

호환성을 높이기 위해 전역 변수는 MySQL 방식인 @@identifier로 참조할 수 있습니다. 지원되는 변수는 다음과 같습니다:
  • version
  • max_allowed_packet
현재로서는 이 변수들이 스텁일 뿐이며 실제로 대응되는 항목은 없습니다.
예시:

사용 예시

MySQL의 테이블:
ClickHouse의 데이터베이스로, MySQL 서버와 데이터를 주고받습니다:
마지막 수정일 2026년 8월 14일