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
相关推荐
HLC++10 小时前
Linux的进程间通信
android·linux·服务器
二宝哥11 小时前
CentOS 7.9 系统下 Redis 5.0.4 单机安装与源码编译安装指南
redis·centos
华清远见IT开放实验室11 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
java_logo13 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
groundhappy14 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕14 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫16 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生16 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1117 小时前
linux基础IO
linux·运维·服务器
BelongPanda19 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx