你不得不知道的 4 款 MySQL GUI 神器

你不得不知道的 4 款 MySQL GUI 神器

码匠 · 18 minute read

在 Postgres 和 SQLite 出现以前,MySQL 一直是比较领先的关系型数据库。Stack Overflow 在 2021 年发布的面向开发者的调查报告也印证了这一点:50.18% 的受访者(73317 人)表示正在广泛使用MySQL,且计划接下来继续在工作中使用 MySQL。

MySQL 使用率在所有数据库中高居榜首

尽管 MySQL 设计简单,但仍有许多人觉得它难以使用。由此可见 GUI 在提升用户体验感方面十分重要的。此外,许多数据库管理员在使用数据库时面临着以下任务挑战:

  • 对象管理和自动化

  • 数据分析

  • 创建和执行查询

  • 开发和调试存储过程

MySQL Shell 在使用上对新手而言可能不太友好,即使是最基本的组件(如 MySQL Workbench 或 MySQL Connectors)也难以上手,某些数据库的高级功能更是很少用到。所以在 MySQL 问世的这 26 年里出现了大量的三方工具。码匠将撷取几个常见的三方工具,从以下几个方面进行深度评估:

  • 功能:你可以用这个工具做什么,这些功能与 MySQL 原生功能的一致性如何?

  • 系统兼容性:该工具是为特定的操作系统开发的,还是能适用于 Windows、Mac 和 Linux 系统,亦或是能在 Web 平台使用。

  • SQL 语句自动补全:是否内置了 MySQL 代码自动补全功能以节省在编辑器中编写脚本的时间?

  • 特殊功能:该工具有哪些区别于其他工具的 MySQL 集成方式?

本次测评将尽可能客观公正,希望能对读者有所帮助,也欢迎大家在评论区发表自己的看法。

Adminer

Adminer 可能是本次测评的几个工具中最中规中矩的一个。它在简化的软件包中提供了强大的功能。该工具于 2007 年推出,优先考虑的是安全性、使用性能和下载工具所占内存的大小。用户可以选择从 Adminer 提供的超过 25 个主题中选择喜欢的外观。

安装

Adminer 使用单个 PHP 文件进行数据库管理,这也使得在任何使用 PHP 的机器上配置 Adminer 都相对容易一些。读者可以根据教程自行设置。

用户可以选择进行本地安装或远程安装可选的 MySQL 数据库服务器。后者可让您根据需要接入远程计算机,从而节省本地内存空间。因此,为 MySQL 安装扩展工具对后续使用体验的提升是十分有利的。最后,直接从 Adminer 官网下载最新的 Adminer PHP 文件。要添加任何相关插件都可以在官网和 Adminer 的 GitHub 页面进行查找下载。

总的来说,Adminer 使用起来还是十分简单好上手的。

功能和 MySQL 支持

与另一个 MySQL GUI 工具 phpMyAdmin 相比,Adminer 进行了许多功能上的改进:

  • Adminder 仅有 MySQL 版本(Adminer 是专门为 MySQL 而设计的)

  • 用户永久登录

  • 字段自动生成

  • 多索引操作

  • 具有关联接口的完整外键支持

  • 支持触发器、存储过程/函数、事件

  • 通过确认选项进行更安全的「行」修改,避免意外覆盖

  • 使用 ALTER 导出实现同步

  • 在单个视图中显示多查询结果

  • 在复杂操作时实现多个选项卡的并发操作

Adminer 要求安全登录数据库,并内置了请求限流来阻止暴力破解密码。该工具支持异步数据下载,因此我们可以将其看作轻量级和快速的可视化工具。请求多个列表也不会影响使用速度。此外,Adminer 还允许进行大量的表格操作——尤其是那些涉及列举、索引、更改、创建、删除和添加记录或索引的操作。用户可以使用文本字段和文件来执行 SQL 命令;还可以创建新数据库、导出数据结构、终止进程以及在用户权限旁边显示用户。

最佳使用场景

Adminer 强调了两个看似矛盾点:简单性和可定制性。可定制性主要面向能熟练使用且要求较高的用户开放,但新用户也能够很快上手使用软件包中简单的基础功能。所以,灵活性才是 Adminer 的主要优势:它既允许有经验的开发人员通过插件、扩展和其他 API 扩展出自己想要的功能,也提供文本块、下拉列表、清单和单选按钮等能自由组合的基础 UI 组件供新手使用。

Beekeeper Studio

与 Adminer 之类的工具相比,Beekeeper Studio 是一款比较新的产品,它于 2020 年初首次推出,并且提供了开源的社区版本。Beekeeper Studio 界面设计更为现代化,反映了过去五年中其他以 GUI 为中心的应用程序的设计模式,其界面和编辑器提供多种预览模式,在对信息的组织和展示上也十分清楚明了。此外,Beekeeper Studio 的开发也很稳定,在过去的两年中已发布了数十个版本。

安装

Beekeeper Studio 与 Windows、Mac 和 Linux 系统均兼容。该工具主要使用 Vue、TypeScript 和 JavaScript 构建,本地不需要下载任何 PHP。用户可以直接从 Beekeeper 官网下载安装适当的安装文件开始使用,这取决于您具体使用的操作系统。

功能和 MySQL 支持

Beekeeper 在其主页上列出了许多关键功能。鉴于 SSL 加密是所有数据库连接的标准,所以安全性非常重要,Beekeeper 将自动保留用户的账号和密码以保证安全连接,同时它还可以帮助用户在特定端口通过防火墙进行连接。

Beekeeper Studio 内置编辑器支持 SQL 代码自动补全,还提供对错误语法高亮处理和修改建议自动弹出等开发者友好的功能,这些功能可以帮助开发人员更简单高效、更愉快地编写 SQL 查询。

Beekeeper 还提供以下功能:

  • 支持在一个统一的窗口内包含多个并发的标签

  • 快速保存和组织常见的 SQL 查询

  • 快速简便地修改数据表,并能在以后阶段性地进行修改

  • 使用 GUI 直接创建、编辑和删除表列、索引和关系

  • 只需几个步骤就能以 CSV、JSON、JSONL 和 SQL 格式导出数据 -- 甚至可以与专门的数据过滤器结合使用

Beekeeper 还支持运行多种运行模式:可以默认运行所有查询、运行当前突出显示的查询或仅运行选定的查询。一旦数据被检索并排列在表格中,您就可以根据需要过滤、排序和细读这些信息。Beekeeper 还支持键盘快捷键的使用。

最佳使用场景

Beekeeper Studio 旨在与多个数据库协同工作,例如 Postgres、SQLite 和 SQL Server。它并不是专门为 MySQL 构建的工具,与 Adminer 相比,Beekeeper 针对 MySQL 而设计的功能更少一些,因此其更适合日常数据查找和操作,而不是密集或详细的项目。但 Beekeeper 的编辑器十分出彩,它的页面设计美观、易于使用且功能相对强大,非常适合有大量 SQL 查询的项目。

CloudBeaver

CloudBeaver 与 Beekeeper Studio 大致在同一时期发布,是一个较小的开源项目,仅由 13 名开发者进行维护,因此该工具在开发上十分慎重,但这并没有阻止 CloudBeaver 对其轻量级、用户友好的 GUI 进行微调。该工具使用界面很干净,有深色和浅色两种模式。CloudBeaver 还为用户提供信息可视化,让用户在能在数据库层面进行管理和组织。作为一个 Web 应用程序,该工具可面向更大的用户集,且不会占用较大内存空间。

下载安装

CloudBeaver 有三种版本。首先是 Web 应用程序版,由 Web 服务器和 JavaScript 前端开发而成。但 CloudBeaver 官方表示,该版本的设置过程可能比较复杂。然后是社区免费版本。CloudBeaver 将该版本作为 Docker Hub 上的 Docker 映像或源代码分发。最后是企业版。开发团队为此专门制作了一个Docker容器,或者用户可以在 AWS Marketplace 内获取一个 AWS 兼容的版本。该应用程序主要是使用 TypeScript 和 Java 构建的。

下载安装 CloudBeaver 时需要使用终端和一些脚本。使用 docker pull dbeaver/cloudbeaver:latest 来获取当前版本,或者使用 docker pull dbeaver/cloudbeaver:dev 来获取最新的开发版本。

用户可以通过终端或访问 localhost + 端口来访问 CloudBeaver。

功能和 MySQL 支持

在宏观层面,CloudBeaver 为用户提供数据编辑器、数据导出、实体图、SQL 编辑器、AWS 和 Docker 集成(RDS、Redshift、Dynamo DB、Docker Hub)和执行计划。这些功能都具有深挖的价值。

数据编辑器以带标签的行和列组成的可读列表格式显示来自表和查询的数据,如下图所示:

CloudBeaver 支持快速扫描这些自定义类别并以合理的格式排列数据,支持关系数据库和非关系型数据库,能快速查看所有数据类型,可以从表中读取任意长度数据,还有专用的数据过滤器面板,甚至能根据列号对表进行排序。

对于导出,CloudBeaver 支持 CSV、XLSX、XML、JSON 和 SQL INSERTs 格式。实体图提供了很多有趣的功能。如果用户想可视化整个数据库模式,Beaver 将提供带有标签和分类数据点的流程图样式图。默认支持唯一约束、外键和自动布局。用户还可以将此可视化文件导出为 PNG 或 SVG 文件。

SQL 编辑器对不同数据库方言语法会进行高亮显示,还提供列、表、SQL 关键字和过程的自动完成功能。查询结果可在多个并发选项卡中查看。

用户还可以将 CloudBeaver 与 AWS 账户集成,以使用 AWS 凭证和 RDS 身份验证解锁 AWS 数据库的授权浏览。这种类型的过程依赖于 Kerberos 或 Active Directory,因此允许用户限制意外访问。同时用户还具有与 Docker 环境的兼容性以及为本地或远程数据库提供服务的能力。

最后,执行计划功能会在结果选项卡中生成查询执行树,并评估脚本和查询是否设计为在其现有格式下以最佳方式工作。

最佳使用场景

CloudBeaver 适合喜欢云端集成的用户。该工具是在考虑这些云平台的基础上构建的(例如 AWS 提供了 CloudBeaver),为从多种数据源获取数据库服务提供了一个更加全面的可行性列表。

CloudBeaver 也非常适合团队协作——用户可以简单通过一个可共享的链接邀请协作者加入项目工作区。企业用户和普通用户都能使用这一协作版本,相较于其他工具来说,这一点是十分出类拔萃的(其他工具不提供专门的协作版本)。

码匠

当然,在使用常规的 MySQL GUI 之外,我们再向您介绍一下码匠。码匠是一款开发者友好的低代码平台,支持连接 MySQL 数据库、编写和执行查询。此外,码匠还提供了一套开箱即用的组件,不仅能帮助您轻松搭建功能完善的数据看板、数据洞察,还可以让您快速搭建一个功能完善的内部应用。

码匠快速创建 MySQL 数据源连接,之后可通过开箱即用的一系列组件快速搭建应用

码匠主要面向国内用户,相较于上述国外开发的 MySQL GUI,码匠的 UI 界面设计更加适合国内场景,同时整合了多款国内数据源,包括飞书、企业微信、钉钉、阿里云 OSS,等等。不仅如此,码匠还提供了国内业务场景下常见的租户管理、更加细粒度的权限控制、审计日志等功能,为您的企业信息安全保驾护航。

如何选择最合适的 MySQL GUI

现在市面上有非常出色的 MySQL GUI 工具,用户最终选择哪款还得基于其工作需求。

如果您使用需求较复杂,可以选择 Adminer 工具进行灵活扩展;如果您追求使用体验感,那么我们推荐 Beekeeper Studio;如果您的工作更多的需要团队协作或AWS 集成,那么可以考虑 CloudBeaver。如果您不甘心只当一个 CRUD boy,想要在基本的数据库管理之上构建更强大的应用程序,那么码匠将是您的不二选择。

码匠目前提供了云端在线版本和私有化部署方案,欢迎您去官网(https://majiang.co/)亲自体验,如果希望进一步与我们讨论码匠的方方面面,欢迎与我们联系~