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
相关推荐
lzh200409193 小时前
深入理解进程:从PCB内核结构到写时拷贝的底层实战
linux·c++
日取其半万世不竭4 小时前
Minecraft Java版社区服务器搭建教程(Linux,适合新手)
java·linux·服务器
时空自由民.4 小时前
蓝牙协议之GAP协议
linux·服务器·网络
leaves falling4 小时前
Linux 基础指令完全指南 —— 从入门到熟练
linux·运维·服务器
charlie1145141916 小时前
嵌入式Linux驱动开发——新字符设备驱动 API 概览
linux·运维·驱动开发
♛识尔如昼♛6 小时前
C 进阶(2) - 文件I/O
linux·文件i/o
顺风尿一寸6 小时前
深入 Linux 内核 6.8.12:从 Futex 到 MCS 队列自旋锁的完整同步机制剖析
linux
橙子也要努力变强6 小时前
信号的保存、阻塞与递达
linux·服务器·c++
进阶的猪7 小时前
使用printk对SPI子系统全过程的追踪
linux·服务器
2301_803554527 小时前
Linux里面的文件描述符和windows里面的句柄
linux·运维·服务器