Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickHouse와 MySQL 통합

이 페이지에서는 MySQL 테이블에서 데이터를 읽기 위해 MySQL 테이블 엔진을 사용하는 방법을 설명합니다.

MySQL 테이블 엔진을 사용하여 ClickHouse를 MySQL에 연결하기

MySQL 테이블 엔진을 사용하면 ClickHouse를 MySQL에 연결할 수 있습니다. SELECTINSERT SQL 문은 ClickHouse 또는 MySQL 테이블에서 실행할 수 있습니다. 이 문서에서는 MySQL 테이블 엔진을 사용하는 기본적인 방법을 설명합니다.

MySQL 구성

  1. MySQL에 데이터베이스를 생성합니다:
CREATE DATABASE db1;
  1. 테이블을 생성합니다:
CREATE TABLE db1.table1 (
  id INT,
  column1 VARCHAR(255)
);
  1. 샘플 행을 삽입합니다:
INSERT INTO db1.table1
  (id, column1)
VALUES
  (1, 'abc'),
  (2, 'def'),
  (3, 'ghi');
  1. ClickHouse에서 연결할 사용자를 생성합니다:
CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';
  1. 필요에 따라 권한을 부여합니다. (데모 목적으로 mysql_clickhouse 사용자에게 관리자 권한을 부여합니다.)
GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';

ClickHouse에 테이블 정의

  1. 이제 MySQL 테이블 엔진을 사용하는 ClickHouse 테이블을 생성해 보겠습니다:
CREATE TABLE mysql_table1 (
  id UInt64,
  column1 String
)
ENGINE = MySQL('mysql-host.domain.com','db1','table1','mysql_clickhouse','Password123!')

최소 매개변수는 다음과 같습니다:

parameter Description example
host hostname or IP mysql-host.domain.com
database mysql database name db1
table mysql table name table1
user username to connect to mysql mysql_clickhouse
password password to connect to mysql Password123!

통합 테스트

  1. MySQL에 샘플 행을 삽입합니다:
INSERT INTO db1.table1
  (id, column1)
VALUES
  (4, 'jkl');
  1. MySQL 테이블의 기존 행과 방금 추가한 새 행이 모두 ClickHouse 테이블에 있는지 확인합니다:
SELECT
    id,
    column1
FROM mysql_table1

4개의 행이 표시되어야 합니다:

Query id: 6d590083-841e-4e95-8715-ef37d3e95197

┌─id─┬─column1─┐
│  1 │ abc     │
│  2 │ def     │
│  3 │ ghi     │
│  4 │ jkl     │
└────┴─────────┘

4 rows in set. Elapsed: 0.044 sec.
  1. ClickHouse 테이블에 행을 추가해 보겠습니다:
INSERT INTO mysql_table1
  (id, column1)
VALUES
  (5,'mno')
  1. MySQL에 새 행이 나타나는 것을 확인합니다:
mysql> select id,column1 from db1.table1;

새 행이 표시되어야 합니다:

+------+---------+
| id   | column1 |
+------+---------+
|    1 | abc     |
|    2 | def     |
|    3 | ghi     |
|    4 | jkl     |
|    5 | mno     |
+------+---------+
5 rows in set (0.01 sec)

요약

MySQL 테이블 엔진을 사용하면 ClickHouse를 MySQL에 연결해 데이터를 양방향으로 주고받을 수 있습니다. 자세한 내용은 MySQL 테이블 엔진 문서를 확인하십시오.

Navigation