1、下载
下载地址:https://packages.clickhouse.com/rpm/stable/

包的作用
| 包名 | 架构 | 主要功能 | 包含内容 |
|---|---|---|---|
| clickhouse-common-static | x86_64 | 核心引擎 | 可执行文件、静态库 |
| clickhouse-server | noarch | 服务端配置 | 服务脚本、配置文件 |
| clickhouse-client | noarch | 客户端工具 | 客户端配置、连接工具 |
2、检查
检查是否安装过clickhouse
bash
# 检查是否安装了ClickHouse包
rpm -qa | grep clickhouse
# 或者使用更精确的查询
rpm -q clickhouse-server clickhouse-client clickhouse-common-static
完全卸载所有ClickHouse包
bash
# 查看已安装的ClickHouse包
rpm -qa | grep clickhouse
# 卸载所有ClickHouse相关包
sudo rpm -e clickhouse-server clickhouse-client clickhouse-common-static
# 或者强制卸载(忽略依赖)
sudo rpm -e --nodeps clickhouse-server clickhouse-client clickhouse-common-static
分步卸载
bash
# 1. 停止服务
sudo systemctl stop clickhouse-server
# 2. 卸载包
sudo rpm -e clickhouse-server
sudo rpm -e clickhouse-client
sudo rpm -e clickhouse-common-static
# 3. 检查是否卸载完成
rpm -qa | grep clickhouse
3、安装
整体放到一个包里,例:/root/clickhouse

安装命令:
bash
rpm -ivh /root/clickhouse/clickhouse-*.rpm
ClickHouse在安装过程中会提示你为默认用户设置密码
可以直接回车、也可以输入密码后回车
查看ClickHouse服务状态
bash
# 检查服务是否已启动
sudo systemctl status clickhouse-server

检查进程
bash
# 检查ClickHouse进程是否在运行
ps aux | grep clickhouse | grep -v grep
# 检查端口监听
netstat -tlnp | grep -E "(8123|9000)"
ss -tlnp | grep -E "(8123|9000)"

未启动就手动启动
bash
# 启动ClickHouse服务
sudo systemctl start clickhouse-server
# 设置开机自启
sudo systemctl enable clickhouse-server
# 检查状态
sudo systemctl status clickhouse-server
# 重启服务
sudo systemctl restart clickhouse-server
# 重新加载配置
sudo systemctl reload clickhouse-server
4、设置密码
设置default用户密码
方案一 :首次安装可以设置
方案二 :使用SQL命令修改密码
当前无密码
bash
# 连接到ClickHouse(如果当前无密码)
clickhouse-client
# 执行修改密码命令
ALTER USER default IDENTIFIED WITH sha256_password BY '新密码';
# 或者使用普通密码
ALTER USER default IDENTIFIED BY '新密码';
# 退出
exit;
当前有密码
bash
# 如果当前有密码,先连接再修改
clickhouse-client --user default --password 旧密码
# 然后执行
ALTER USER default IDENTIFIED BY '新密码';

这里执行失败了(这里搞了半天没改好,修改default密码老是报错,所以提供了新建用户的方法,后续弄好了再添加上内容)
权限问题 ,default 用户没有 ALTER USER 权限,所以不能修改用户信息。
修改一下配置:
bash
[root@localhost users.d]# sudo vi /etc/clickhouse-server/users.xml
取消掉下面的注释(启用ClickHouse的SQL访问控制管理功能)
允许通过SQL命令来管理用户、角色、权限等访问控制,而不是只能通过配置文件,默认值是0为只读模式。
bash
<access_management>1</access_management>
创建新管理员用户
bash
-- 创建全新的管理员用户
CREATE USER dba IDENTIFIED BY 'dba123';
-- 给所有权限
GRANT ALL ON *.* TO dba WITH GRANT OPTION;
-- 退出当前连接
exit;
然后用新用户连接:
bash
clickhouse-client --user dba --password dba123

方案三:直接修改配置文件(最简单)
bash
# 1. 停止服务
sudo systemctl stop clickhouse-server
# 2. 直接修改密码
sudo vim /etc/clickhouse-server/users.xml

bash
# 3. 重启服务
sudo systemctl start clickhouse-server
# 4. 用新密码测试
clickhouse-client --user default --password 654321
5、允许远程访问
作用:允许ClickHouse监听所有网络接口(包括IPv4和IPv6)
修改前(默认,只能本地访问)-->修改后(允许远程访问)
bash
# 修改命令
[root@localhost users.d]# sudo vi /etc/clickhouse-server/config.xml
# 修改后重启
[root@localhost users.d]# sudo systemctl restart clickhouse-server
取消注释:

如果不修改,用DBeaver连接的时候会报下面的错

6、程序连接
使用的是dbeaver:https://dbeaver.io/download/




测试新建的dba也是可以的

如果没成功先看看防火墙端口开没开
bash
[root@localhost users.d]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@localhost users.d]# firewall-cmd --add-port=8123/tcp --permanent
success
# 重启防火墙
[root@localhost users.d]# firewall-cmd --reload
success
