CentOS 7 从 0-1 安装 ClickHouse 指南
在 CentOS 7 系统上安装 ClickHouse,需按环境准备、依赖安装、RPM 包下载、安装 ClickHouse、启动服务等步骤操作,以下是详细流程:
一、环境准备与依赖安装
检查系统版本:
执行 cat /etc/redhat-release,确认系统为 CentOS 7(如 CentOS Linux release 7.9.2009 (Core))。
检查 CPU 指令集:
执行 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported",确保 CPU 支持 SSE 4.2(ClickHouse 运行依赖该指令集)。
安装依赖包:
执行 yum install -y unixODBC,安装 ClickHouse 运行所需的 unixODBC 依赖。
二、下载 ClickHouse RPM 包
由于 ClickHouse 官方未直接提供 CentOS RPM 包,需通过Altinity 官方镜像站下载对应版本的 RPM 包。
访问下载页面:
打开浏览器访问 Altinity ClickHouse RPM 下载页(需确保网络可访问该域名)。
https://packagecloud.io/Altinity/clickhouse/
选择版本与包:
以 clickhouse-20.8.3.18-1.el7.x86_64 为例,需下载以下 4 个 RPM 包:
clickhouse-common-static-20.8.3.18-1.el7.x86_64.rpm
clickhouse-server-common-20.8.3.18-1.el7.x86_64.rpm
clickhouse-server-20.8.3.18-1.el7.x86_64.rpm
clickhouse-client-20.8.3.18-1.el7.x86_64.rpm
上传 RPM 包到服务器:
可通过 scp 命令将本地下载的 RPM 包上传到 CentOS 7 服务器(如 scp -r clickhouse/ root@<服务器IP>:/tmp/)。
三、安装 ClickHouse RPM 包
在 CentOS 7 服务器上,以root 权限执行以下命令安装 RPM 包(需按依赖顺序安装):
bash
Copy Code
安装 clickhouse-common-static(基础静态库)
rpm -ivh clickhouse-common-static-20.8.3.18-1.el7.x86_64.rpm
安装 clickhouse-server-common(服务器基础组件)
rpm -ivh clickhouse-server-common-20.8.3.18-1.el7.x86_64.rpm
安装 clickhouse-server(服务器主程序)
rpm -ivh clickhouse-server-20.8.3.18-1.el7.x86_64.rpm
安装 clickhouse-client(客户端工具)
rpm -ivh clickhouse-client-20.8.3.18-1.el7.x86_64.rpm
四、启动 ClickHouse 服务
安装完成后,执行以下命令启动 ClickHouse 服务:
bash
Copy Code
启动服务
systemctl start clickhouse-server
设置开机自启
systemctl enable clickhouse-server
五、验证安装与连接
验证服务状态:
执行 systemctl status clickhouse-server,确认服务状态为 active (running)。
连接客户端:
执行 clickhouse-client,进入 ClickHouse 客户端交互模式。
执行测试查询:
在客户端中执行 SELECT 1;,若返回 1,则安装成功。
六、配置与优化(可选)
若需修改 ClickHouse 配置(如数据存储路径、网络端口等),可编辑配置文件 /etc/clickhouse-server/config.xml 和 /etc/clickhouse-server/users.xml,修改后重启服务生效。
通过以上步骤,即可在 CentOS 7 系统上完成 ClickHouse 的从 0-1 安装与基础配置。

在 ClickHouse 中集成 MySQL
介绍如何使用 MySQL 表引擎从 MySQL 表中读取数据。
注意
在 ClickHouse Cloud 中,也可以使用 MySQL ClickPipe(目前处于公开测试阶段),便捷地将 MySQL 表中的数据迁移到 ClickHouse。
使用 MySQL 表引擎将 ClickHouse 连接到 MySQL
MySQL 表引擎允许将 ClickHouse 连接到 MySQL。可以在 ClickHouse 或 MySQL 表中执行 SELECT 和 INSERT 语句。本文介绍 MySQL 表引擎的基本用法。
1. 配置 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 Cloud 中使用此功能,可能需要允许 ClickHouse Cloud 的 IP 地址访问您的 MySQL 实例。 有关出站流量的详细信息,请参阅 ClickHouse Cloud Endpoints API。
2. 在 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 | 主机名或 IP | mysql-host.domain.com |
| database | MySQL 数据库名称 | db1 |
| table | MySQL 表名 | table1 |
| user | 连接到 MySQL 的用户名 | mysql_clickhouse |
| password | 连接到 MySQL 的密码 | Password123! |
注意
请参阅 MySQL table engine 文档页面以获取完整的参数列表。
3. 测试集成
-
在 MySQL 中插入一行示例数据:
INSERT INTO db1.table1
(id, column1)
VALUES
(4, 'jkl');
-
请注意,来自 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 行。耗时: 0.044 秒。
-
现在向 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 表引擎 的文档页面。