3

前不久,由于Navicat爆出了一些漏洞,具体参考:NAVICAT PREMIUM,公司要求必须卸载Navicat,即便是免安装版也不让使用,那么除了Navicat外,还有哪些可视化的数据库管理工具呢?大体搜索了下,不管是官方的Workbench,还是其他的一些软件,使用体验上都不是很好,偶然间,同事推荐了DBeaver。

DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好,且遵循ASL 协议。由于 DBeaver 基于 Java 开发,可以运行在各种操作系统上,比如Windows、Linux、macOS 等操作系统。DBeaver 采用 Eclipse 框架开发,支持插件扩展,并且提供了许多数据库管理工具:ER 图、数据导入/导出、数据库比较、模拟数据生成等。

同时,DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等。商业版本更是可以支持各种 NoSQL 和大数据平台:MongoDB、InfluxDB、Apache Cassandra、Redis、Apache Hive 等。

下载与安装

DBeaver 社区版可以通过官方网站或者 Github 进行下载。两者都为不同的操作系统提供了安装包或者解压版,可以选择是否需要同时安装 JRE。另外,官方网站还提供了 DBeaver 的 Eclipse 插件,可以在 Eclipse 中进行集成。

DBeaver 支持中文,安装过程非常简单,不多说,唯一需要注意的是 DBeaver 的运行依赖于 JRE。不出意外,安装完成后运行安装目录下的 dbeaver.exe 可以看到以下界面。

在这里插入图片描述
安装完成后,我们打开DBeaver,默认情况下,DBeaver会帮我们创建一个 SQLite 示例数据库,如下图所示。

在这里插入图片描述

和Navicat等可视化数据库软件一样,DBeaver最上面是菜单项和快捷工具,左侧是已经建立的数据库连接和项目信息,右侧是主要的工作区域。

连接数据库

打开 DBeaver 之后,首先要做的就是创建数据库连接。可以通过菜单“数据库” -> “新建连接”打开新建连接向导窗口,如下图所示。
在这里插入图片描述
我们以 MySQL 为例,新建一个数据库连接。选择 MySQL 图标,点击“下一步(N)”,如下图所示。

在这里插入图片描述

然后,按照要求设置数据库的连接信息:主机、端口、数据库、用户、密码。“Advanced settings”高级设置选项可以配置 SSH、SSL 以及代理等,也可以为连接指定自己的名称和连接类型(开发、测试、生产)。

在这里插入图片描述

点击最下面的“测试链接(T)”可以测试连接配置的正确性。初次创建某种数据库的连接时,会提示下载相应的 JDBC 驱动。

在这里插入图片描述
如果下载驱动过程中出现如下错误,需要单独下载jar。

java.io.IOException: Maven artifact 'maven:/mysql:mysql-connector-java:RELEASE' not found

对于这种问题,可以到Mysql官网下载对应的驱动程序,
在这里插入图片描述
如果爆的其他的驱动错误,可以使用下面的连接下载对应的驱动jar包,版本需要根据情况进行修改。

https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.17.zip

然后,选择添加文件按钮添加jar包,如下图所示。
在这里插入图片描述
然后,点击【测试连接】按钮,如果出现下面的界面,则说明成功连接数据库。
在这里插入图片描述
新建连接之后,就可以通过这些连接访问相应的数据库,查看和编辑数据库中的对象,执行 SQL 语句,完成各种管理和开发工作。
在这里插入图片描述

生成 ER 图

下面介绍下,如何生成数据库对象的 ER 图。点击窗口左侧“数据库导航”旁边的“项目”视图。

在这里插入图片描述
其中,“ER Diagrams”就是实体关系图。右击该选项,点击“创建新的 ER 图”。输入一个名称并选择数据库连接和需要展示的对象,然后点击“完成”,即可生成相应的 ER 图。

在这里插入图片描述

参考:DBeaver社区


xiangzhihong
5.9k 声望15.3k 粉丝

著有《React Native移动开发实战》1,2,3、《Kotlin入门与实战》《Weex跨平台开发实战》、《Flutter跨平台开发与实战》1,2和《Android应用开发实战》