ClickHouse系列之ClickHouse安装
- 1 ClickHouse
- 2 Docker安装ClickHouse
- 2.1 docker 启动脚本
- 2.2 默认用户及密码
- 2.3 8123和9000端口的作用
- 2.3.1 8123
- 2.3.2 9000
- 3 Clickhouse连接
- 3.1 命令行客户端连接
- 3.1.1 常见的客户端脚本
- 3.1.1.1 查看数据库:show databases;
- 3.1.1.2 创建库:create database
- 3.1.1.3 删除库:drop database
- 3.1.1.4 使用指定库并展示库表
- 3.2 Dbeaver客户端软件连接
- 3.2.1 Dbeaver 软件安装
- 3.2.2 ClickHouse连接
- 3.2.3 查询时间差8小时问题
1 ClickHouse
ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse
2 Docker安装ClickHouse
在linux下创建目录,/app/docker/clickhouse 目录,作为后续clickhouse安装的路径
2.1 docker 启动脚本
docker run -d --name clickhouse-server \
# clickhouse数据目录,挂载到本地物理机上
-v /app/docker/clickhouse/data:/var/lib/clickhouse \
# 设置默认账号
-e CLICKHOUSE_USER=root \
# 设置默认密码
-e CLICKHOUSE_PASSWORD=123456 \
-p 8123:8123 \
-p 9000:9000 \
clickhouse/clickhouse-server
2.2 默认用户及密码
通过命令添加的用户,默认配置在docker容器内的/etc/clickhouse-server/users.d 文件中,当忘记免密时候,可以进入该文件中进行修改
2.3 8123和9000端口的作用
2.3.1 8123
HTTP端口,主要用于通过HTTP协议与ClickHouse数据库进行交互。它支持RESTful API和HTTP查询语法,可以通过浏览器、curl等工具发送HTTP请求,并接收响应。8123端口通常用于执行查询、获取数据和管理ClickHouse集群。这种端口适用于通过HTTP进行简单的查询和管理操作。
2.3.2 9000
TCP端口,主要用于通过TCP/IP协议与ClickHouse数据库进行交互。它使用ClickHouse自定义的二进制协议进行通信,支持更高的并发性和性能。9000端口通常用于大规模数据导入、数据写入和数据处理等高性能场景。由于其高性能的特点,它更适合于需要高效数据交互和处理的场景。
3 Clickhouse连接
3.1 命令行客户端连接
# 进入到doker容器内部
docker exec -it clickhouse-server bash
# 执行客户端命令
clickhouse-client
# 出现下列信息,表示连接成功
#ClickHouse client version 25.1.5.31 (official build).
#Connecting to localhost:9000 as user root.
#Connected to ClickHouse server version 25.1.5.
3.1.1 常见的客户端脚本
3.1.1.1 查看数据库:show databases;
3.1.1.2 创建库:create database
# 创建test库
create database test;
3.1.1.3 删除库:drop database
drop database test;
3.1.1.4 使用指定库并展示库表
使用库:use [库名];
展示表:show tables;
提示:ClickHouse 的语法除了数据字段类型有差别外,其余的查询操作基本一致
3.2 Dbeaver客户端软件连接
3.2.1 Dbeaver 软件安装
下载地址:https://dbeaver.io/ ,可以下载:DBeaver Community 版本,开源免费
3.2.2 ClickHouse连接
- 点击新建连接,弹出数据库选择框,选择clickhouse,第一次使用时,会提示下载相应的连接jar包,按提示进行下载即可。
- 选中clickHouse后,在弹出框中输入相应的主机、端口、用户名、密码,然后点击测试连接,出现已连接的标记,表示连接成功。
3.2.3 查询时间差8小时问题
如下图,在编辑连接属性时,对驱动进行设置,增加:use_time_zone=Asia/Shanghai、use_server_time_zone_for_dates=true,此时再进行查询测试,发现时间就保持一致了。