news 2026/9/17 11:56:28

Linux下DBeaver安装与配置:三种方式与常见踩坑全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux下DBeaver安装与配置:三种方式与常见踩坑全解析

在Linux下做数据库开发,我最常用的就是DBeaver这款通用数据库工具。它开源免费、跨平台,几乎能连接市面上所有主流数据库,装一次就能把MySQL、PostgreSQL、SQLite、Oracle、SQL Server、ClickHouse这些连接串统一管理起来,省掉了一堆客户端来回切换的麻烦。这篇文章结合我在多台Linux服务器和工作站上的实际安装经历,把DBeaver的安装方式、版本选择、驱动配置和踩坑经验完整梳理一遍,想装又怕折腾的朋友可以直接照着做。

1. 为什么在Linux上我会首选DBeaver

1.1 一款工具统一管理所有数据库

DBeaver的定位是“通用数据库工具”,这句话展开说就是:它不是一个只服务某一种数据库的专用客户端,而是通过JDBC驱动机制将各种数据库的访问方式统一起来。你不需要为MySQL装Navicat、为PostgreSQL装pgAdmin、为SQLite装DB Browser,DBeaver一个窗口全部搞定。

在实际工作场景里,这个价值非常大。我经常遇到的情况是:本地开发用的是SQLite或PostgreSQL,测试环境连着MySQL,生产环境要临时查一下Oracle。以前需要安装三四个图形客户端,每个客户端的界面风格不同,快捷键不同,连接管理方式也不同。换到DBeaver之后,所有连接统一放在左侧连接树里,点开就能操作,SQL编辑器、数据表浏览、导入导出、ER图这些功能都一致,学习成本一下子降了下来。

DBeaver社区版是Apache License 2.0协议的开源软件,对个人开发者完全免费,也没有连接数限制。企业版(Ultimate Edition)虽然收费,但提供了NoSQL数据库支持、ER图导出等额外功能,日常开发用社区版已经非常够用了。

1.2 与常见客户端工具的对比

我整理了一份在Linux环境下几款主流数据库客户端工具的对比,方便你判断DBeaver是否适合自己。

工具开源免费Linux支持多数据库支持资源占用驱动管理
DBeaver原生支持极多中等图形化自动管理
Navicat仅付费版较多较低内置固定
DataGrip原生支持较多偏高图形化自动管理
pgAdmin原生支持仅PostgreSQL中等不涉及
MySQL Workbench原生支持有限中等不涉及

这个表格能看出DBeaver的核心优势:开源免费加上最广的数据库覆盖范围。和DataGrip相比,DBeaver社区版虽然没有智能代码补全和查询计划分析那么强大,但对于绝大多数开发运维场景完全够用。和Navicat相比,DBeaver的驱动管理器自由度更高,可以手动添加任意JDBC驱动,甚至支持国产数据库如达梦、人大金仓,这一点在信创环境下特别实用。

2. 动手安装:先做好这几步准备

2.1 判断系统发行版与CPU架构

安装之前,首先要确认两件事:系统是什么发行版、CPU是什么架构。

查看发行版信息:

cat /etc/os-release

我常用的服务器上有Ubuntu、Debian、CentOS、openEuler,不同发行版使用的包管理器不同:Ubuntu/Debian用apt,CentOS/RHEL/openEuler用dnf或yum,ArchLinux用pacman。命令输出里的ID字段能直接告诉你是哪个发行版,选安装方式时就不会搞错。

查看系统架构:

uname -m

绝大多数x86服务器输出是x86_64;如果是ARM平台的华为鲲鹏、飞腾机器,输出是aarch64。官方下载页面针对这两种架构提供不同安装包,下载前看清楚,不然会直接提示“cannot execute binary file: Exec format error”。

2.2 Java环境到底需要不需要

很多教程会先让你安装Java运行时环境,然后在/etc/profile或~/.bashrc里配置JAVA_HOME,其实这种说法不准确。

DBeaver新版本(从21.x开始)的安装包已经内嵌了JRE,无论tar.gz压缩包还是Windows安装版,都自带完整的Java运行时,不需要单独安装JDK。官方发行说明里写得很明确,安装包集成了Eclipse平台的运行时环境,解压即可运行,依赖问题已经处理过了。

只有遇到极少数情况才需要手动指定Java:一是你从源码编译DBeaver,二是某些Linux发行版的软件源在打包时把自带JRE去掉了,三是你需要连接某些特殊数据库驱动要求更高版本Java。如果启动时提示找不到Java,再考虑安装OpenJDK 11或17,一般不会走到这一步。

2.3 选择包管理器、压缩包还是Snap

DBeaver在Linux下的安装方式有三种主流路径,我分别列一下适用场景。

安装方式优点缺点适合人群
包管理器安装(apt/dnf)命令简单、自动处理依赖、更新方便版本可能滞后,某些系统需要添加第三方仓库不想折腾配置、系统软件源里有新版
官方tar.gz压缩包版本最新、路径可控、不污染系统目录需要手动配置图标和启动脚本、升级要自己处理开发者和运维人员
Snap/Flatpak完全沙箱隔离、自动更新、卸载干净启动慢、沙箱限制文件访问、与系统集成度低桌面Linux用户

综合来看,包管理器安装最省心但版本滞后明显,Snap虽有自动更新但沙箱限制太多。我个人的习惯是用tar.gz压缩包放在/opt目录下手动安装,升级时把老目录删掉重新解压就行,数据和工作区都保留在~/.dbeaver目录,不受影响。

3. 完整实操:三种安装方式逐一演示

3.1 方式一:使用包管理器安装(apt/dnf)

Ubuntu和Debian系统的软件源里默认没有DBeaver,需要先添加官方仓库。首先是安装依赖工具:

sudo apt update sudo apt install -y wget apt-transport-https gnupg2

导入DBeaver官方GPG密钥并添加仓库:

wget -q -O - https://dbeaver.io/debs/dbeaver.gpg.key | sudo apt-key add - echo "deb https://dbeaver.io/debs/dbeaver-ce" | sudo tee /etc/apt/sources.list.d/dbeaver.list

然后更新并安装:

sudo apt update sudo apt install -y dbeaver-ce

如果系统是Fedora、RHEL或openEuler,用dnf安装:

sudo dnf install -y dbeaver-ce

这个方式的好处是自动创建桌面菜单项和图标,升级也方便。潜在问题是:DBeaver迭代很快,新版本往往在官方压缩包发布几周后才进入软件源;另外一些企业内网机器无法直接访问dbeaver.io,加仓库这一步会被卡住,这时就要用内网镜像或者手动下载压缩包分发。

3.2 方式二:官方tar.gz手动安装(我常用)

我从dbeaver.io下载Linux通用压缩包,这个方式在任何发行版上都适用,不受包管理器限制。

打开DBeaver官网下载页(dbeaver.io/download),找到Linux版本,选择与架构匹配的tar.gz文件。也可以直接在命令行用wget下载,以社区版23.3.5为例:

wget https://github.com/dbeaver/dbeaver/releases/download/23.3.5/dbeaver-ce-23.3.5-linux.gtk.x86_64.tar.gz

下载完成后解压到/opt目录:

sudo mkdir -p /opt sudo tar -zxvf dbeaver-ce-23.3.5-linux.gtk.x86_64.tar.gz -C /opt

解压后会生成/opt/dbeaver目录,启动脚本就在里面,直接运行:

/opt/dbeaver/dbeaver

为了方便在终端里执行,我习惯创建一个软链接:

sudo ln -s /opt/dbeaver/dbeaver /usr/local/bin/dbeaver

这样在任何路径下敲dbeaver就能启动。为了让桌面环境有图标,还需要创建一个.desktop文件:

sudo nano /usr/share/applications/dbeaver.desktop

文件内容如下:

[Desktop Entry] Version=1.0 Type=Application Name=DBeaver Comment=DBeaver Universal Database Tool Exec=/opt/dbeaver/dbeaver Icon=/opt/dbeaver/dbeaver.png Categories=Development;Database;IDE;

保存后在应用菜单里就能找到DBeaver了。以后升级只要下载新版压缩包解压替换/opt/dbeaver目录即可,桌面图标无需改动,之前的连接配置和驱动都保存在~/.dbeaver目录,不会丢失。

关于路径选择,我解释一下为什么放在/opt而不是~。DBeaver本身是可移植软件,放/opt表示它是独立安装的第三方软件,跟系统自带软件区分开来;放/usr/bin虽然也可以,但/usr通常是包管理器管理的目录,手动放进去容易和包管理器冲突,卸载时也容易残留。

3.3 方式三:Snap和Flatpak安装

Ubuntu系统自带Snap支持,安装一条命令:

sudo snap install dbeaver-ce --classic

--classic参数表示允许DBeaver完全访问系统资源,不启用严格沙箱。如果不用这个参数,DBeaver的连接、文件读取、系统目录访问都会受限。

Flatpak的安装方式:

flatpak install flathub io.dbeaver.DBeaverCommunity flatpak run io.dbeaver.DBeaverCommunity

Snap的优点是自动更新、卸载干净,缺点是启动速度明显比压缩包慢——我在同一台机器上对比过,Snap版冷启动需要5到8秒,压缩包版2秒出头。另外Snap版访问/home目录下的文件、读取挂载卷时需要确认权限,如果经常用DBeaver做CSV导入导出或者加载本地驱动文件,我建议直接用压缩包版,能省掉不少权限烦恼。

3.4 安装后验证

无论哪种方式安装,都可以在终端执行:

dbeaver --version

看到类似DBeaver 23.3.5这样的输出就说明安装成功。没有图形界面的纯服务器环境也可以用,但是需要保证有X11转发或者本地显示器;如果连X11都没有,DBeaver也提供了命令行模式,不过主要功能还是依赖图形界面,这一点要提前意识到。

进程和驱动目录可以这样确认:

ps aux | grep dbeaver ls ~/.dbeaver/drivers/

4. 首次启动与数据库连接配置详解

4.1 第一次启动会发生什么

首次启动DBeaver时,会在用户主目录下创建工作区目录~/.dbeaver,里面存放配置文件、日志、驱动jar包、连接配置等。这个目录很关键,整个DBeaver的“家”就在这里,升级时只需要保留它,所有连接密码和界面设置都会跟着迁移。

界面布局默认是左侧连接树、中间SQL编辑器和结果集、下方日志窗口。DBeaver基于Eclipse平台,所以继承了Eclipse的很多习惯:快捷键Ctrl+Enter执行SQL、Ctrl+空格代码补全、鼠标右键菜单非常丰富。第一次用的人会觉得界面有点“工程师风”,但用熟之后会发现该有的功能都有,效率并不低。

界面字体如果偏小,可以通过“窗口”菜单里的“首选项”,在“用户界面”-“字体和颜色”中调整。我习惯把编辑器字体调到14号,数据网格字体调到12号,长时间盯着屏幕看SQL和查询结果会舒服很多。

4.2 配置数据库连接:MySQL和PostgreSQL为例

新建连接的入口在左侧连接树上方“新建连接”按钮,或者文件菜单里的“新建连接”。以MySQL为例,选择MySQL图标后会弹出设置页,需要填的内容包括:

  • 主机名:数据库服务器的地址,本地就是localhost
  • 端口:MySQL默认3306
  • 数据库名:要连接的库名
  • 用户名和密码

填完点击“测试连接”,DBeaver会检查JDBC驱动是否存在。如果驱动没下载,会弹窗询问是否下载。点确认后,DBeaver自动从Maven中央仓库下载对应的JDBC驱动jar包,整个过程是全自动的。

PostgreSQL的配置类似,默认端口是5432,驱动是org.postgresql.Driver,DBeaver会自动适配。连接成功之后,左侧连接树展开就能看到数据库、模式、表、视图、存储过程等对象,双击表格就能预览数据,右键表格可以执行“生成SQL”、“导出表结构”等操作。

4.3 驱动下载慢的解决办法与手动加载驱动

驱动自动下载依赖网络访问Maven仓库,在国内网络环境下经常出现长时间卡住或者下载失败。解决办法有几个,我按效率排序:

第一,配置镜像源。DBeaver首选项里搜索“Maven”或“驱动下载”,在驱动下载设置中把仓库地址改成国内Maven镜像,比如阿里云镜像:

https://maven.aliyun.com/repository/public

第二,手动下载驱动jar包。以Oracle为例,Oracle的JDBC驱动因为许可证原因不允许自动分发,DBeaver会弹出提示让你手动下载ojdbc包。步骤是:下载ojdbc8.jar(对应Java 8),然后在DBeaver的“数据库驱动管理器”找到Oracle驱动,点“添加文件”把jar包加进去,再“测试连接”就能用了。

第三,对于PostgreSQL、MySQL这些常见驱动,如果自动下载一直失败,可以直接去对应数据库官网下载JDBC jar包,按第二种方式手动加载。这个操作把“网络依赖”问题变成了“本地文件”问题,在内网部署时经常要用到。

驱动程序匹配数据库版本这个问题容易被忽略。比如MySQL 8.0一定要用mysql-connector-java 8.x的驱动,用5.x版本连8.0数据库会报Authentication plugin 'caching_sha2_password'错误。DBeaver自动下载时会选择推荐版本,但手动添加驱动时务必看清版本号。

4.4 高频小功能:搜索表名、执行SQL文件、调整字体大小

数据库表很多的时候,手工找表很浪费时间。DBeaver左侧导航栏上方有个放大镜图标,可以搜索数据库对象,支持按表名、列名、索引名称搜索。快捷键是Ctrl+Shift+F,输入关键词后会列出所有匹配的表和视图,点击直接跳转,比在几千张表里翻找效率高得多。

执行SQL文件是另一个高频操作:在SQL编辑器里,用“文件”菜单打开.sql文件,或者直接把脚本文件拖进编辑器,然后Ctrl+Enter执行选中部分,Ctrl+Shift+Enter执行整个脚本。如果脚本里有中文注释,从Windows拷过来的文件经常遇到乱码,需要在“编辑器”菜单里选择正确的文件编码,一般把UTF-8改成GBK或者反过来就能解决。

字体大小设置在“首选项”-“用户界面”-“字体和颜色”里可以分别调整编辑器、网格、控制台的字体,不用全局统一。快捷键Ctrl+和Ctrl-可以在编辑器内快速放大缩小字体,这个在演示或投屏讲解时特别好用。

5. 我踩过的坑与排查方法

5.1 启动报错:找不到Java / 点了没反应

压缩包安装后双击桌面图标没反应,在终端里执行/opt/dbeaver/dbeaver才会看到具体报错。最常见的提示是找不到Java虚拟机,虽然新版安装包自带JRE,但如果你下载的是不带运行时的高压缩版,就会依赖系统Java。

解决办法:

sudo apt install -y openjdk-11-jre

然后重新启动。如果提示权限不足,查看/opt/dbeaver目录下的二进制文件是否有执行权限:

sudo chmod +x /opt/dbeaver/dbeaver

另外还有一种隐蔽情况:显示器环境变量没设置。通过SSH远程启动时,需要加 -x 参数做X11转发,或者用export DISPLAY=:0指定本地显示。这些不会写在官方文档里,但远程环境经常踩到。

5.2 压缩包解压后文件乱码

有朋友下载DBeaver压缩包解压后看到乱码文件名,这里说清楚,这类问题大部分发生在Windows下用其他压缩工具解压的情况。Linux系统的tar命令解压是不会出现中文乱码的,因为它按UTF-8处理文件名。真正出现乱码的场景是:你把DBeaver的SQL脚本文件从Windows复制到Linux,脚本里的中文字符注释在编辑器里显示成乱码。这不是DBeaver本身的问题,而是文件编码不一致导致的显示问题。用“编辑器”-“设置编码”手动切换成UTF-8或GBK即可。

如果连DBeaver安装包解压都遇到文件名乱码,大概率是系统locale没设置好。检查一下:

locale echo $LANG

如果显示LANG=C或空的,在~/.bashrc里加一行:

export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8

然后source ~/.bashrc,重新解压就不会乱码了。

5.3 连接本地数据库被拒绝(Snap权限问题)

用Snap版连接本机的MySQL或PostgreSQL,经常报Connection refused。原因是Snap的严格沙箱模式下,应用无法直接访问系统网络端口和/var/run目录下的socket文件。解决办法:

sudo snap connect dbeaver-ce:network sudo snap connect dbeaver-ce:system-observe sudo snap connect dbeaver-ce:network-observe
sudo snap connect dbeaver-ce:system-observe

这会把网络、系统进程、系统挂载点的访问权限放开。如果还是连不上,直接用压缩包版代替Snap版,不折腾。

另外Snap版访问/home用户目录时需要显式授权,否则“打开文件”对话框里看不到文档文件夹。虽然可以连接系统接口解决,但每次弹权限确认窗口也很烦,这也是我不推荐Snap版的原因。

5.4 图形界面在最小化安装的服务器上打不开

在纯文本模式安装的CentOS或Ubuntu Server上运行dbeaver,提示缺少GTK相关库:

sudo dnf install -y gtk3 xorg-x11-fonts-Type1
sudo apt install -y libgtk-3-0 libxss1 libasound2

安装后再启动即可。如果是通过xshell或putty的X11转发,记得本地要装Xming或Xshell的X管理器。没有图形桌面的服务器,建议直接用命令行方式连接数据库,而不是强行为DBeaver装图形依赖。DBeaver本质是图形工具,这一点不用勉强。

5.5 常见问题速查表

现象原因解决办法
启动提示找不到Java使用了精简包或者系统确实没JRE安装openjdk-11-jre
连接MySQL报caching_sha2_password错误驱动版本过旧手动下载mysql-connector-java 8.x
驱动下载卡在0%访问Maven中央仓库慢配置阿里云镜像或手动导入jar
Oracle驱动无法自动下载Oracle许可证限制官网下载ojdbc手动添加
中文注释乱码文件编码不一致编辑器设置编码切换UTF-8/GBK
启动权限不足/opt/dbeaver无执行权限chmod +x /opt/dbeaver/dbeaver
Snap版连不上localhost沙箱限制网络访问snap connect 或改用压缩包版
读不到U盘/挂载目录沙箱文件系统隔离换用tar.gz安装

一些使用习惯

在这几年的使用中,我养成了几个习惯,分享出来供参考。

第一个习惯是:升级DBeaver之前,先备份~/.dbeaver目录。虽然理论上升级不会删除配置文件,但数据库工具里存的连接信息、驱动配置、全局脚本都是重要资产,备份一下稳一点。压缩包版升级时直接删掉/opt/dbeaver替换新版本,~/.dbeaver留着不动,就完全不需要重新配置。

第二个习惯:默认连接数据库时不保存密码,改用手动输入。这是出于安全考虑,因为保存的密码在~/.dbeaver的凭证存储里虽然做了加密,但在多人共用的服务器上,凭证文件依然有泄露风险。密码每次输入虽然麻烦一点,但安全等级高一个层次。

第三个习惯:常用SQL脚本统一放在固定目录,用DBeaver的“脚本”面板管理。在项目里建一个scripts目录,把常用的分页查询、表结构导出、统计报表脚本都存进去,需要的时候直接在脚本面板里打开执行。这样既不会弄丢脚本,又能通过DBeaver的历史记录回溯当时的查询计划。

DBeaver在Linux下的安装其实没什么复杂的地方,先把发行版和架构搞清楚,再选一种安装方式执行,之后重点放在驱动配置和数据库连接上。只要把前几个关键点理顺,后续的使用体验会非常顺畅。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 11:55:35

Hister向量搜索实现指南:从Embedder接口到sqlitevec的完整链路

Hister向量搜索实现指南:从Embedder接口到sqlitevec的完整链路 【免费下载链接】hister Your own search engine 项目地址: https://gitcode.com/GitHub_Trending/hi/hister 在自建搜索引擎领域,Hister 是一个注重隐私的自托管搜索工具&#xff0…

作者头像 李华
网站建设 2026/9/17 11:52:09

解读 Node.js v0.5.4:libuv 的 Windows 之旅与 HTTP Agent 默认化

解读 Node.js v0.5.4:libuv 的 Windows 之旅与 HTTP Agent 默认化 【免费下载链接】nodejs.org The Node.js Website 项目地址: https://gitcode.com/GitHub_Trending/no/nodejs.org 本篇文章基于 nodejs.org 官网仓库中的历史版本发布记录 apps/site/pages/…

作者头像 李华
网站建设 2026/9/17 11:49:21

员工心理援助项目(EAP)在国内企业中的应用现状-中国心理学会心理咨询师水平评价-心理咨询师培训机构-长春心理咨询师培训机构

员工心理援助项目(EAP)在国内企业中的应用现状-中国心理学会心理咨询师水平评价-心理咨询师培训机构-长春心理咨询师培训机构当一家公司开始关注员工的心理健康时,通常会首先想到员工心理援助项目——EAP(Employee Assistance Pro…

作者头像 李华
网站建设 2026/9/17 11:48:40

支付宝当面付与网页支付接入:公钥证书与沙箱环境踩坑指南

支付宝当面付与网页支付接入:公钥证书与沙箱环境踩坑指南在国内独立产品的商业化变现通道中,除了微信支付之外,支付宝(Alipay) 是另一大不可或缺的超级结算渠道。 特别是针对个人全栈开发者和个体工商户,支…

作者头像 李华