背景
前几天无意间又听到 ClickHouse 这个名字,想想已经有一年多的时间没有关注过这个数据库了;点开它的官网看了下,ClickHouse 这一年在易用性上确实改进了不少。真正做到了下载下来就能用,不像其它的 SB 数据库,用户要下巨大的决心才能安装上。
第一步、下载
现在的 ClickHouse 以一个可执行文件的方式进行发行,把这个下载下来所有的东西就都有了,真正的做到了 ALL IN ONE 。
由于下载下来的是可执行文件,所以我觉得保存在 /usr/local/bin/ 目录下也是不错的选择。
cd /usr/local/bin/
wget https://builds.clickhouse.com/master/amd64/clickhouse
chmod 755 clickhouse第二步、初始化
不黑不吹,MySQL 要拉起来,我们要用创建配置文件、初始化数据目录。ClickHouse 是真的简单,直接拉起来就行,数据目录它自己初始化,配置文件它自动配置(以独占方式使用机器资源)。
# 创建目录,clickhouse 用于保存数据
mkdir /database/clickhouse
cd /database/clickhouse
# 启动 clickhouse 数据库
clickhouse server就是这么简单,ClickHouse 就起来了。
netstat -ltnp | grep click
tcp 0 0 127.0.0.1:8123 0.0.0.0:* LISTEN 30349/clickhouse
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 30349/clickhouse
tcp 0 0 127.0.0.1:9004 0.0.0.0:* LISTEN 30349/clickhouse
tcp6 0 0 ::1:8123 :::* LISTEN 30349/clickhouse
tcp6 0 0 ::1:9000 :::* LISTEN 30349/clickhouse
tcp6 0 0 ::1:9004 :::* LISTEN 30349/clickhouse第三步、使用
ClickHouse 实现了 MySQL 协议,所以我们直接使用 `mysql` 命令就能连接进去。当然 `clickhouse client` 使用它的原生协议功能上也更加强大些,我目前的需求比较少, `mysql` 命令就够我用了。
mysql -h127.0.0.1 -P9004 -udefault
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 0
Server version: 22.5.1.1590-ClickHouse
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>由于其实现了 MySQL 协议,用法上和 MySQL 差别极小,比如 `show database` 就是一样的
mysql> show databases;
+--------------------+
| name |
+--------------------+
| INFORMATION_SCHEMA |
| default |
| information_schema |
| system |
| tempdb |
+--------------------+
5 rows in set (0.00 sec)
Read 5 rows, 610.00 B in 0.000469901 sec., 10640 rows/sec., 1.24 MiB/sec.查询的话 `select` 完全没有区别
mysql> select * from tempdb.t;
+------+------+
| id | name |
+------+------+
| 1 | tom |
| 1 | bob |
+------+------+
2 rows in set (0.00 sec)
Read 2 rows, 32.00 B in 0.000621255 sec., 3219 rows/sec., 50.30 KiB/sec.