先确认ClickHouse服务是否运行且8123端口已监听:执行systemctl status clickhouse-server检查状态,再用netstat -tulnp | grep :8123验证端口;若无输出,常见原因是被注释或为127.0.0.1,需改为0.0.0.0并开放防火墙。

为什么连不上8123端口?先确认服务端是否真在监听
绝大多数连接失败,不是DBeaver配错了,而是ClickHouse压根没开HTTP接口。别急着调客户端,先登录服务器跑两行命令:
-
systemctl status clickhouse-server—— 看服务是不是 active (running) -
netstat -tulnp | grep :8123—— 如果没输出,说明HTTP端口根本没启动
常见原因有两个:<http_port></http_port> 被注释了,或者 <listen_host></listen_host> 写成了 127.0.0.1(只允许本机连)。必须改成 0.0.0.0 或具体外网IP,并且确保防火墙放行该端口。
驱动下载失败?手动指定Maven坐标更可靠
DBeaver内置的“自动下载驱动”经常卡在墙外仓库或版本过旧。直接填坐标比点“下载”按钮快得多:
- 打开 窗口 → 首选项 → 连接 → 驱动 → Maven
- 点击“添加”,填入阿里云镜像地址:
https://maven.aliyun.com/repository/public - 回到驱动列表,搜索
clickhouse-jdbc,选4.0.0或更高稳定版(3.x在新版ClickHouse上会报Unknown type: Decimal256)
如果公司内网禁Maven,就去 Maven Central 手动下jar包,用“添加文件”导入。
新建连接时关键参数不能乱填
选中ClickHouse驱动后,填连接信息这一步,三个字段最容易出错:
-
主机:填服务器IP,不是localhost(除非你在服务端本机连) -
端口:必须是8123,不是9000(TCP端口不走JDBC) -
数据库:填default或你建好的库名;留空会连上但看不到表(DBeaver默认不自动列出系统库)
用户名密码默认是 default / 空,但如果改过 /etc/clickhouse-server/users.xml,就得按实际配置来。别信网上教程说“随便填”,权限不对会直接报 Code: 192. DB::Exception: user default is not allowed to connect。
连上了却查不了表?检查DBeaver的元数据加载设置
连接成功但左侧树形目录里只有“default”库、点不开表,大概率是元数据加载被限制了:
- 右键连接 → 编辑连接 → 初始化 → 取消勾选“仅加载当前数据库对象”
- 再右键连接 → 重新连接,等几秒,表结构就会刷出来
- 如果仍不显示,进 连接设置 → 高级,把
use_server_time_zone设为false(某些时区配置会导致元数据查询超时)
这个步骤常被忽略,尤其当ClickHouse开了 readonly=1 或用户权限受限时,DBeaver会静默跳过表结构拉取,而不是报错提示。


















