Centos安装clickhouse

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
相关推荐
濊繵1 小时前
Linux网络--应用层自定义协议与序列化
linux·服务器·网络
潇凝子潇2 小时前
Linux 服务器实时监控Shell 脚本
linux·服务器·chrome
顾安r2 小时前
11.21 脚本 网页优化
linux·前端·javascript·算法·html
last demo2 小时前
iscsi服务器
linux·运维·服务器·php
qq_282195312 小时前
嵌入式音频USB Audio调试
linux·音视频
Predestination王瀞潞3 小时前
Cuda的安装
linux·人工智能·深度学习
石像鬼₧魂石3 小时前
如何使用Kali Linux自带字典进行密码破解?
linux·运维·服务器
JiMoKuangXiangQu3 小时前
Linux 时间子系统 (1):基础框架概述
linux·timer·时间子系统·timekeeping