이 페이지에서는 MySQL 테이블에서 데이터를 읽기 위해 MySQL 테이블 엔진을 사용하는 방법을 설명합니다.
MySQL 테이블 엔진을 사용하여 ClickHouse를 MySQL에 연결하기
MySQL 테이블 엔진을 사용하면 ClickHouse를 MySQL에 연결할 수 있습니다. SELECT 및 INSERT SQL 문은 ClickHouse 또는 MySQL 테이블에서 실행할 수 있습니다. 이 문서에서는 MySQL 테이블 엔진을 사용하는 기본적인 방법을 설명합니다.
MySQL 구성
- MySQL에 데이터베이스를 생성합니다:
CREATE DATABASE db1;- 테이블을 생성합니다:
CREATE TABLE db1.table1 (
id INT,
column1 VARCHAR(255)
);- 샘플 행을 삽입합니다:
INSERT INTO db1.table1
(id, column1)
VALUES
(1, 'abc'),
(2, 'def'),
(3, 'ghi');- ClickHouse에서 연결할 사용자를 생성합니다:
CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';- 필요에 따라 권한을 부여합니다. (데모 목적으로
mysql_clickhouse사용자에게 관리자 권한을 부여합니다.)
GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';ClickHouse에 테이블 정의
- 이제
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! |
통합 테스트
- MySQL에 샘플 행을 삽입합니다:
INSERT INTO db1.table1
(id, column1)
VALUES
(4, 'jkl');- MySQL 테이블의 기존 행과 방금 추가한 새 행이 모두 ClickHouse 테이블에 있는지 확인합니다:
SELECT
id,
column1
FROM mysql_table14개의 행이 표시되어야 합니다:
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.- ClickHouse 테이블에 행을 추가해 보겠습니다:
INSERT INTO mysql_table1
(id, column1)
VALUES
(5,'mno')- 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 테이블 엔진 문서를 확인하십시오.