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
相关推荐
M78佐菲2 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
Brilliantwxx3 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做3 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
一池秋_5 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
惜离殇5 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
闲云野鹤在人间7 小时前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
我命由我123458 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime
xx~t8 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
Uncertainty!!9 小时前
Linux 主机无法完成校园网认证排查记录:从 DHCP、ARP 到 Portal 认证流程分析
linux·运维·服务器
神威难绷泪9 小时前
Linux消息队列 & 共享内存 笔记
linux·消息队列·共享内存