再过10分钟你就能了解Docker部署ClickHouse和导数据啦

36 阅读1分钟

1. 拉镜像

docker pull clickhouse/clickhouse-server

2. 起容器

docker run -p 8123:8123 -p 3500:9000 --name clickhouse-server --ulimit nofile=262144:262144 -e CLICKHOUSE_DB=default -e CLICKHOUSE_USER=root -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e TZ=Asia/Shanghai -e CLICKHOUSE_PASSWORD=root -d clickhouse/clickhouse-server

3. 进容器

docker exec -it clickhouse-server -u root bash

4. 测试连接

clickhouse-client -h 127.0.0.1 -d default -m -u root --password root

5. 查看MySql地址

5.1 如果需要查看容器IP

docker inspect mysql容器名称 | grep IPAddress

5.2 如果需要使用容器外宿主机IP

gateway.docker.internal

host.docker.internal

6. 进入客户端

clickhouse-client -h 127.0.0.1 -d default -m -u root --password root

7. 建表

创建Mysql到CLickhouse的映射表插入1条数据

CREATE TABLE gatewaylogs ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql('host.docker.internal:3306', 'timescale_test', 'gatewaylogs_466063453254081186_2023', 'root', 'root'); limit 1;

8. 查询创建的表结构复制下来

show create table gatewaylogs;

9. 删除表

drop table gatewaylogs;

10. 将第二步复制的表结构里的字段类型进行变更然后执行

11. 导数据

insert into gatewaylogs SELECT * FROM mysql('host.docker.internal:3306', 'timescale_test', 'gatewaylogs_466063453254081186_2023', 'root', 'root');

12. DBeaver

下载安装 DBeaver Community windows版本安装包

dbeaver.io/download/

填写连接信息,自动下载驱动即可