1、下载

下载地址:https://packages.clickhouse.com/rpm/stable/
在这里插入图片描述
包的作用

包名架构主要功能包含内容
clickhouse-common-staticx86_64核心引擎​可执行文件、静态库
clickhouse-server​noarch服务端配置​服务脚本、配置文件
clickhouse-client​noarch客户端工具​客户端配置、连接工具

2、检查

检查是否安装过clickhouse

# 检查是否安装了ClickHouse包
rpm -qa | grep clickhouse
# 或者使用更精确的查询
rpm -q clickhouse-server clickhouse-client clickhouse-common-static

完全卸载所有ClickHouse包

# 查看已安装的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

分步卸载

# 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
在这里插入图片描述
安装命令:

rpm -ivh /root/clickhouse/clickhouse-*.rpm

ClickHouse在安装过程中会提示你为默认用户设置密码
可以直接回车、也可以输入密码后回车

查看ClickHouse服务状态

# 检查服务是否已启动
sudo systemctl status clickhouse-server

在这里插入图片描述
检查进程

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

在这里插入图片描述
未启动就手动启动

# 启动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命令修改密码
当前无密码

# 连接到ClickHouse(如果当前无密码)
clickhouse-client
# 执行修改密码命令
ALTER USER default IDENTIFIED WITH sha256_password BY '新密码';
# 或者使用普通密码
ALTER USER default IDENTIFIED BY '新密码';
# 退出
exit;

当前有密码

# 如果当前有密码,先连接再修改
clickhouse-client --user default --password 旧密码
# 然后执行
ALTER USER default IDENTIFIED BY '新密码';

在这里插入图片描述
这里执行失败了(这里搞了半天没改好,修改default密码老是报错,所以提供了新建用户的方法,后续弄好了再添加上内容)

权限问题,default 用户没有 ALTER USER 权限,所以不能修改用户信息。
修改一下配置:

[root@localhost users.d]# sudo vi /etc/clickhouse-server/users.xml

取消掉下面的注释(启用ClickHouse的SQL访问控制管理功能)
允许通过SQL命令来管理用户、角色、权限等访问控制,而不是只能通过配置文件,默认值是0为只读模式。

<access_management>1</access_management>

创建新管理员用户

-- 创建全新的管理员用户
CREATE USER dba IDENTIFIED BY 'dba123';
-- 给所有权限
GRANT ALL ON *.* TO dba WITH GRANT OPTION;
-- 退出当前连接
exit;

然后用新用户连接:

clickhouse-client --user dba --password dba123

在这里插入图片描述

方案三:直接修改配置文件(最简单)

# 1. 停止服务
sudo systemctl stop clickhouse-server
# 2. 直接修改密码
sudo vim /etc/clickhouse-server/users.xml

在这里插入图片描述

# 3. 重启服务
sudo systemctl start clickhouse-server
# 4. 用新密码测试
clickhouse-client --user default --password 654321

5、允许远程访问

作用:允许ClickHouse监听所有网络接口(包括IPv4和IPv6)
修改前(默认,只能本地访问)–>修改后(允许远程访问)

# 修改命令
[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也是可以的
在这里插入图片描述

如果没成功先看看防火墙端口开没开

[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

在这里插入图片描述