简介:本资源为DBeaver 23.x版本开源数据库管理工具的完整安装包,面向数据库初学者、开发人员及DBA等技术从业者,解决多源数据库统一连接、SQL开发与数据可视化管理等核心需求。压缩包共796个文件,以348个JAR(核心功能模块与驱动)、75个DLL(Windows平台本地支持库)、36份LICENSE(含Apache、EPL等开源协议)及大量配置文件(properties、xml、ini)为主,结构完整,开箱即用;整体大小113.02MB,ZIP格式便于解压部署。已有1721人下载学习,资源包含全部运行依赖、图形界面可执行文件(dbeaver.exe等)、Java启动配置(jvmargs、cfg)及安全证书(cacerts、rsa),无需额外配置Java环境即可快速启动。用户可直接获得跨平台数据库连接能力、内置SQL编辑器、图形化查询构建器、数据对比与性能分析等全量功能,特别适合需要轻量级、免安装式数据库管理工具的日常开发与教学场景。
1. DBeaver数据库安装包:不是“点下一步就完事”的绿色工具,而是你本地数据库工作流的中枢神经
很多人第一次听说 DBeaver,是在同事甩来一句“用 DBeaver 连一下测试库”,或者在 Stack Overflow 回答里看到截图——界面清爽、标签页多、SQL 编辑器带语法高亮、还能同时连 MySQL、PostgreSQL、Oracle、SQL Server 甚至 SQLite 和达梦。但真正下载那个叫dbeaver-ce-x.x.x-windows.win32.x86_64.zip或dbeaver-ce-x.x.x-macos.dmg的“安装包”后,才发现它根本不像 Navicat 那样双击.exe就弹出向导,也不像 DBeaver 官网首页写的那么轻巧:“Download and run — no installation required”。真相是:DBeaver 的“安装包”本质是一份可执行环境 + 预置配置的压缩分发体,它的部署方式直接决定了你后续半年会不会反复重装、连不上库、导出失败、中文乱码、甚至被公司安全策略拦截。它不是传统意义的 Windows MSI 安装包,也不是 macOS 上拖进 Applications 就完事的 App Bundle(虽然 macOS 版接近),而是一个依赖 Java 运行时、自带 JRE(可选)、需手动解压+配置路径+管理更新的“半便携式桌面客户端”。适合谁?适合需要频繁切换多种数据库类型、拒绝订阅制、重视连接复用与元数据缓存、且愿意为稳定性多花 5 分钟配置的 DBA、后端工程师、数据分析师和课程设计学生——尤其是那些正在做《数据库原理与应用》课设、要导出 ER 图、比对两个 MySQL 表结构、或临时查一查 SQLite 的 .db 文件内容的人。它解决的不是“能不能连”,而是“连得稳不稳、查得快不快、导得全不全、换环境重不重装”。
2. 拆解 DBeaver 安装包:从官网下载到可执行目录的完整链路
DBeaver 官网(dbeaver.io)提供的是CE(Community Edition)开源版本,完全免费,无功能阉割,更新频率高(通常每月一版),GitHub 仓库活跃(dbeaver/dbeaver)。它不提供传统 Windows Installer(.msi),也不上 Microsoft Store 或 Mac App Store,所有分发都通过 GitHub Releases 页面完成。这意味着你拿到的“安装包”,其实是经过签名、压缩、归档后的二进制发布物,其内部结构高度标准化,理解它,等于掌握了所有后续操作的底层逻辑。
2.1 官网下载入口与版本选择:别被“Latest Release”带偏
打开 https://dbeaver.io/download/,页面顶部写着 “Latest Release: v24.1.0 (2024-06-03)”,但这不是你该无脑点的链接。原因有三:
- Windows 用户注意平台位数:页面默认显示
Windows (x64),但如果你还在用老旧的 Win7 或某些工控机(Intel Atom / AMD E-Series),可能仍是 x86(32 位)系统。此时必须手动切到下方 “Other platforms” 区域,找到Windows (x86)版本。错选 x64 在 x86 系统上双击会直接报错:“无法启动此程序,因为计算机中丢失 VCRUNTIME140.dll”(实际是架构不匹配,而非 DLL 缺失)。 - macOS 用户警惕签名与 Gatekeeper:自 macOS Catalina 起,未经 Apple Developer ID 签名的 App 会被 Gatekeeper 拦截。DBeaver CE 由社区签名(notarized by DBeaver Team),但首次运行仍会弹出“已损坏,无法打开”。这不是病毒,是 Apple 的安全机制。你需要右键点击
.dmg→ “打开”,再在弹出的二次确认框中点“打开”(非双击图标)。 - Linux 用户别跳过依赖检查:
.tar.gz包内含dbeaver启动脚本,但它依赖系统级 GTK3、libXtst、libXss 等库。Ubuntu/Debian 系需提前执行:
CentOS/RHEL 8+ 则需:sudo apt update && sudo apt install -y libgtk-3-0 libxtst6 libxss1 libasound2sudo dnf install -y gtk3 libXtst libXScrnSaver alsa-lib
提示:官网下载页底部有 “All versions” 链接,点进去能看到所有历史版本。如果你的项目锁定在 JDK 11 环境(如某些金融客户内网),而新版 DBeaver 要求 JDK 17+,就必须回退到 v23.3.x(最后支持 JDK 11 的稳定版)。
2.2 解压即“安装”:Windows 与 macOS 的真实目录结构
DBeaver 不写注册表、不改系统 PATH、不创建开始菜单快捷方式(除非你手动做)。它的“安装”就是解压到一个你可控的路径。推荐路径原则:避免空格、中文、特殊符号;避开系统保护目录(如C:\Program Files\);优先使用非系统盘(如D:\Tools\DBeaver\)。
以 Windows 为例,下载dbeaver-ce-24.1.0-win32.win32.x86_64.zip后:
- 右键 → “全部解压缩…” → 指定目标文件夹为
D:\Tools\DBeaver\ - 解压完成后,进入该目录,你会看到这些关键子目录:
dbeaver.exe:主程序入口(64 位 Windows)dbeaver-cli.exe:命令行工具,用于批量导出、执行 SQL 脚本(CI/CD 场景必备)configuration/:Eclipse RCP 框架的运行时配置,含config.ini(指定 JVM 参数、插件路径)plugins/:所有功能模块,如org.jkiss.dbeaver.ext.mysql_*.jar(MySQL 扩展)、org.jkiss.dbeaver.ext.oracle_*.jar(Oracle 扩展)drivers/:数据库驱动 JAR 包存放处(MySQL Connector/J、Oracle JDBC Driver 等),这是你后续连 Oracle 或达梦时最常手动替换的地方workspace/:用户工作区,默认为空,首次启动后生成,存储连接配置、SQL 历史、ER 图缓存等
macOS 的.dmg解压逻辑不同:挂载后拖拽DBeaver.app到Applications文件夹,本质是复制整个 bundle。其内部结构为:
DBeaver.app/ ├── Contents/ │ ├── Info.plist ← 定义 Bundle ID、JVM 路径、JVM 参数 │ ├── MacOS/ │ │ └── dbeaver ← 实际启动脚本(调用 Java) │ ├── Resources/ │ └── Plugins/ ← 同 Windows 的 plugins/注意:
Info.plist中的JVMVersion键值(如17+)决定了它要求的最低 JDK 版本。若你系统只有 JDK 11,需手动编辑此文件,将17+改为11+,否则启动黑屏无响应。
2.3 启动前必做的三件事:JDK 检查、权限修复、首次配置
即使解压完成,也不能直接双击dbeaver.exe。跳过这三步,90% 的新手会在 30 秒内遇到“闪退”、“白屏”、“No Java runtime present” 报错。
(1)验证并指定 JDK 路径
DBeaver 是 Java 应用,必须有兼容的 JDK。它自带 JRE(Windows/macOS 包内含jre/目录),但仅限基础功能;连接 Oracle、DB2、Sybase 等商业库时,必须用 Oracle 官方 JDK 或 OpenJDK 17+(因驱动依赖较新 API)。
检查系统 JDK:
java -version # 输出应类似:openjdk version "17.0.8" 2023-07-18若无 JDK 或版本不符,去 Adoptium 下载 Temurin JDK 17(LTS),安装后记下路径(如
C:\Program Files\Eclipse Adoptium\jdk-17.0.8.1-hotspot\)。强制指定 JDK(关键!):编辑
dbeaver.ini(Windows)或Contents/Info.plist(macOS),在-vm参数后添加你的 JDKbin路径:-vm C:/Program Files/Eclipse Adoptium/jdk-17.0.8.1-hotspot/bin -vmargs -XX:+UseG1GC -Xms512m -Xmx2048m
(2)修复 Linux/macOS 权限(仅首次)
Linux 用户解压后需赋予执行权限:
chmod +x /path/to/dbeaver/dbeavermacOS 用户若从 dmg 拖入 Applications,通常无需操作;但若从终端解压.tar.gz,则需:
xattr -rd com.apple.quarantine /Applications/DBeaver.app否则 Gatekeeper 会持续拦截。
(3)首次启动:接受许可、选择工作区、禁用遥测
首次双击启动,会弹出:
- Eclipse Public License 许可协议(必须勾选“我接受”)
- 工作区(Workspace)选择对话框:强烈建议不要用默认路径(如
C:\Users\Name\workspace),而指定一个独立路径(如D:\DBeaver-Workspace\)。原因:workspace 存储所有连接密码(加密)、SQL 历史、图表缓存,放在非系统盘更易备份、迁移、避免 C 盘满导致崩溃。 - 启动后,右上角小铃铛会提示 “Help improve DBeaver by sending anonymous usage statistics”。生产环境务必关闭:
Window → Preferences → General → Usage Data Collector → Uncheck "Enable usage data collection"。
3. 连接数据库前的驱动准备:为什么你连不上 MySQL 8.0、Oracle 19c 或达梦?
DBeaver 本身不内置任何数据库驱动(JDBC Driver),它只提供驱动管理框架。所有“连接能力”都来自drivers/目录下的 JAR 包。官网下载包已预置主流驱动(MySQL 5.7/8.0、PostgreSQL、SQLite),但Oracle、DB2、达梦、人大金仓、TiDB 等需手动下载并注册。这是新手连不上库的头号原因——不是 URL 写错,而是驱动缺失或版本错配。
3.1 MySQL 8.0+ 连接失败:时区与 SSL 的双重陷阱
现象:输入jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai,点“Test Connection”,报错The server time zone value 'йʱ' is unrecognized或SSL connection error。
原因:MySQL 8.0 默认启用 SSL,且服务端时区可能为SYSTEM(中文名),而 DBeaver 自带的 MySQL Connector/J 5.1.x 驱动不兼容。
解决:
- 进入
Database → Driver Manager → Edit → MySQL 8(或新建) - 在 “Libraries” 标签页,移除旧版
mysql-connector-java-5.1.*.jar - 点击 “Add File”,下载最新版 MySQL Connector/J 8.0+ (如
mysql-connector-j-8.3.0.jar),添加 - 切换到 “URL Template” 标签页,确认模板为:
jdbc:mysql://{host}:{port}/{database}?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true注意:
serverTimezone=UTC比Asia/Shanghai更稳妥,避免服务端时区名称解析失败;useSSL=false临时关闭 SSL(生产环境应配证书);allowPublicKeyRetrieval=true解决 RSA 密钥交换问题。
3.2 Oracle 19c 连接:ojdbc8.jar 的版本与 CLASSPATH 死结
现象:填入jdbc:oracle:thin:@//192.168.1.100:1521/orcl,点测试,报错java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver。
原因:DBeaver 自带的 Oracle 驱动是ojdbc6.jar(适配 Oracle 11g),而 19c 要求ojdbc8.jar(Java 8+ 兼容)。
解决:
- 去 Oracle 官网下载 ojdbc8.jar (需登录 Oracle 账号,免费)
- 在 Driver Manager 中编辑 “Oracle” 驱动 → “Libraries” → 移除
ojdbc6.jar→ “Add File” 添加ojdbc8.jar - 关键一步:在 “Driver Settings” 标签页,将 “Driver Class” 从
oracle.jdbc.driver.OracleDriver改为oracle.jdbc.OracleDriver(新驱动类名变更) - URL Template 改为:
jdbc:oracle:thin:@//{host}:{port}/{database}
3.3 达梦数据库(DM8)连接:国产库的私有驱动加载法
现象:达梦官方提供DmJdbcDriver18.jar,但添加后测试仍报No suitable driver。
原因:达梦驱动非标准 JDBC,需额外声明驱动类,并处理字符集。
解决:
- 下载达梦安装包中的
drivers/DmJdbcDriver18.jar(或从 达梦官网 获取) - 新建驱动:
Database → Driver Manager → New → Driver Name: DM8 - “Libraries” 添加
DmJdbcDriver18.jar - “Driver Class” 填
dm.jdbc.driver.DmDriver - “URL Template” 填:
jdbc:dm://{host}:{port} - 在 “Connection settings → Initialization script” 中添加初始化 SQL(解决中文乱码):
SET NAMES UTF-8;
提示:达梦默认端口是
5236,非1521;数据库名在 URL 中不体现,而是在连接后选择“模式(Schema)”。
4. 避坑:DBeaver 安装与连接过程中的 5 个血泪经验
这些不是文档里写的“注意事项”,而是我在给 12 家客户部署 DBeaver 时,被反复踩过的坑。每一条都对应一个真实报错截图和 3 小时排查记录。
4.1 现象:Windows 上双击dbeaver.exe无反应,任务管理器里看不到进程
原因:系统 PATH 中存在旧版 Java(如 JDK 8),而 DBeaver 启动脚本优先读取PATH而非dbeaver.ini中的-vm设置;或dbeaver.ini被记事本保存为 UTF-8 with BOM,导致 JVM 无法解析参数。
解决:
- 临时清空 PATH 中的 Java 相关路径,或在 CMD 中执行:
set PATH=C:\Program Files\Eclipse Adoptium\jdk-17.0.8.1-hotspot\bin;%PATH% start "" "D:\Tools\DBeaver\dbeaver.exe" - 用 VS Code 或 Notepad++ 重新保存
dbeaver.ini为UTF-8 without BOM编码。
4.2 现象:macOS 上首次运行弹出“已损坏,无法打开”,点“打开”后仍闪退
原因:Gatekeeper 拦截了未公证(notarized)的二进制,且 DBeaver 的签名证书未被 macOS 完全信任(尤其 macOS Sonoma 14.5+)。
解决:
- 终端执行:
xattr -d com.apple.quarantine /Applications/DBeaver.app - 若仍无效,手动授权:
System Settings → Privacy & Security → Scroll down → Click "Open Anyway"(需在“已阻止”提示出现后 1 小时内操作)。
4.3 现象:连接 PostgreSQL 成功,但查询pg_stat_activity时中文字段显示为????
原因:PostgreSQL 服务端字符集为UTF8,但 DBeaver 客户端未显式声明client_encoding。
解决:
- 连接编辑页 → “Connection settings → Initialization script” 中添加:
SET client_encoding = 'UTF8'; - 或在全局设置中统一:
Window → Preferences → Editors → SQL Editor → SQL Processing → Set "Default encoding" to UTF-8。
4.4 现象:导入大型 SQL 文件(>100MB)时内存溢出,报java.lang.OutOfMemoryError: Java heap space
原因:DBeaver 默认堆内存仅 1024MB,大文件解析需更多空间。
解决:
- 编辑
dbeaver.ini,将-Xmx1024m改为-Xmx4096m(4GB),并确保-Xms与之接近(如-Xms2048m) - 对超大文件,改用 CLI 模式(更省内存):
dbeaver-cli -con "name=mydb;driver=postgresql;host=localhost;port=5432;database=test" -sql "D:\big.sql"
4.5 现象:导出 CSV 时日期字段变成数字(如1717027200000),而非2024-05-30
原因:DBeaver 默认将TIMESTAMP类型导出为毫秒时间戳(Unix epoch),而非格式化字符串。
解决:
- 导出向导中 → “Output settings” → 取消勾选 “Use native date/time format”
- 或在 “Data formatting” 标签页,为
DATE/TIME列设置格式:yyyy-MM-dd HH:mm:ss
5. 进阶技巧:让 DBeaver 从“能用”变成“离不开”的 3 个硬核配置
装好、连上、能查,只是起点。真正让 DBeaver 成为你数据库工作流中枢的,是那些藏在 Preference 深处、能省下每天半小时重复操作的配置。以下三个技巧,是我从 2018 年用 DBeaver 做第一个 MySQL 迁移项目起,一直沿用至今的习惯。
5.1 全局 SQL 模板:告别手敲SELECT * FROM table LIMIT 100
每次查表都要写SELECT * FROM xxx LIMIT 100?太原始。DBeaver 支持基于上下文的代码模板(Templates),可全局生效。
- 打开
Window → Preferences → Editors → SQL Editor → Templates - 点击 “New”,创建模板:
- Name:
sel100 - Pattern:
SELECT * FROM ${table} LIMIT 100; - Description:
Select top 100 rows from table
- Name:
- 在 SQL 编辑器中,输入
sel100+Ctrl+Space(Windows)或Cmd+Space(macOS),自动展开并高亮${table},输入表名回车即完成。
进阶:定义
count_table模板:SELECT COUNT(*) FROM ${table};,配合Ctrl+Enter(执行当前语句)秒出总行数。比 Navicat 的“行数统计”快 3 倍,且不锁表。
5.2 连接配置导出/导入:团队协作与课设交付的后悔药
课程设计要求提交“数据库连接截图”和“ER 图”?运维交接要同步 20 个测试库连接?别截图、别手输。DBeaver 的连接配置是纯文本 JSON,可版本化管理。
- 导出:
File → Export → General → Preferences→ 选择 “Export all” → 保存为connections.epf - 导入:
File → Import → General → Preferences→ 选择connections.epf - 关键点:
connections.epf文件中,密码是加密的(AES),但加密密钥绑定于当前 workspace 路径。所以必须先导入到同一路径的 workspace,再迁移。更可靠的做法是:导出时不勾选 “Export passwords”,导入后手动补密码。
血泪经验:我曾帮学生导出连接配置交作业,他用自己的电脑导入后连不上,因为 workspace 路径变了。后来我们约定:所有课设统一用
D:\Coursework\DBeaver-WS作为 workspace,从此零故障。
5.3 多数据源联合查询:用 DBeaver 当轻量 ETL 工具
DBeaver 支持跨连接执行 SQL(Cross-Database Query),无需写 Python 脚本。例如:把 MySQL 的用户表和 PostgreSQL 的订单表 JOIN 查未下单用户。
- 确保两个连接已建立(如
mysql-prod,pg-reporting) - 新建 SQL 编辑器 → 右键 → “Set active connection” → 选
mysql-prod - 写 SQL 时,用
database.schema.table全限定名:SELECT u.id, u.name FROM mysql_prod.users u LEFT JOIN pg_reporting.orders o ON u.id = o.user_id WHERE o.id IS NULL; - 执行前,DBeaver 会自动识别跨库引用,提示 “This query uses multiple data sources. Enable cross-database support?” → 点 “Yes”。
注意:此功能依赖各数据库的 JDBC 驱动是否支持
DatabaseMetaData.getImportedKeys()等元数据接口。MySQL 8.0+、PostgreSQL 10+、SQL Server 2016+ 均支持;Oracle 需开启GLOBAL_NAMES=FALSE;达梦暂不支持。
我坚持用 DBeaver 超过六年,从最初把它当 Navicat 替代品,到现在所有数据库操作——无论是凌晨三点修复线上 MySQL 主从延迟、给实习生讲解 SQLite 的 WAL 模式、还是导出 500 张表的 ER 图做课程设计答辩——都离不开它。它的“安装包”看似简单,实则是整套工作流的起点:一次正确的解压路径选择,能避免半年后重装;一个精准的dbeaver.iniJVM 参数,能让 10GB 的导出不 OOM;而导出连接配置的习惯,则让我在三次公司级数据库迁移中,零失误同步全部连接。它不炫技,不绑架你订阅,就安静地待在你的D:\Tools\目录里,等你敲下Ctrl+Enter。希望帮到你。
本文还有配套的精品资源,点击获取