数据库管理工具使用问题集
2018-06-13 15:34:25 阿炯

本文将盘点一些关于数据库管理工具在使用过程中所遇到的问题集合,以及相关的解决办法。

解决dbeaver乱码问题
会话信息的备份或转移
修改并放大默认返回的查询结果记录数量


解决dbeaver乱码问题


dbeaver 是一个非常好用的开源轻量级数据库连接工具,对于日常的使用真的已经非常够用了,而且因为是多语言支持中文,对于英文不好的同学帮助也非常大,其好用和简洁让我非常喜欢,特别是新版本之后,支持的数据库更多了,基本上下载一个dbeaver就可以进行大部分的开发工作,但这个工具的受众还是比较小众,网上相对资料较少。这里主要介绍如何解决dbeaver 乱码问题。

连接数据库后查询到的数据、或查询得到的数据是正常的但导出结果集(csv)时是乱码的情况。

步骤一:点击右键数据库编辑连接(或按快捷键F4)

步骤二:直接在driver properties中找到charset进行设置,这里的编码值看你的数据库设置的哪种编码:GBK,UTF-8等。

设置完成上面的两步后,重新连接后即可查看,看是否查询出来的数据编译是否正常。如果依然是乱码,可能需要做如下的操作:
在使用快捷键F4弹出的界面上的'常规'页面->单击'启动查询'旁边的'配置'按钮->在弹出的'启动时 SQL 查询'窗口中点'添加'->写入'set names utf8;',确定后完成并重连,可解决上述的乱码问题。



会话配置信息的备份或转移


在windows10下,用于将数据库的配置信息、日常保留的会话窗口及其中的语句因重新安装了系统或迁移到其它主机上的操作;可以省去不少的时间精力。DBeaver的会话配置信息保留在用户的应用数据目录,比如Administrator用户就保存在:C:\Users\Administrator\AppData\Roaming\DBeaverData 目录下。可将DBeaver关闭后对该目录进行打包归档,视配置信息的多少在几MiB左右;在新的主机环境下解压至同级目录后,在开启DBeaver软件即可看到旧环境的操作界面。


数据库安全工具盘点

网络安全:Tailscale
数据库密钥管理:Infisical
按需数据库访问:Indent
全方位数据库操作管理:Bytebase

Tailscale

Tailscale 是一种 VPN 服务,它让人能够不论身在何处,都能安全便捷地连接到自己的设备和应用。这项服务利用了开源的 WireGuard® 协议来建立加密的直连,确保只有你的私有网络内的设备才能互相通信。对于数据库应用,Tailscale 使你可以从世界任意地点安全地连接到数据库,而无需将数据库对公网开放或额外配置 SSH 隧道。

其免费版本支持最多 3 名用户和 100 台设备,适合个人使用或小企业。如果你需要更高级的功能,如访问控制和审计日志,付费方案的价格从每月每用户 6 美元起。

Infisical

Infisical 是一款开源的密钥管理平台,具备端到端加密功能,专为存储、管理和在各种应用及其基础架构之间同步如 API 密钥、数据库登录信息及环境变量等敏感信息而设计。它可作为 HashiCorp Vault 和 AWS Secrets Manager 的替代方案。

既可以选择在自己的服务器上部署 Infisical,也可以使用其提供的云服务。通过它来将数据库登录信息能够被安全地保存在一个加密的存储空间里,仅在应用程序需要时才被调用,从而避免将这些信息直接嵌入到应用程序的代码或配置文件中。你可以通过 CLI、SDK、Docker、Kubernetes 或者 REST API 等多种方式来访问这些信息。

其免费版本提供给最多 5 名开发人员和 3 个环境使用,满足业余爱好者的需求。如果你需要更高级的功能,如访问控制和审计日志,付费方案从每月每位开发人员 6 美元起。

Indent

Indent 使团队成员能够在数秒之内实现对云应用和基础架构的按需访问。这项服务被形象地比喻为一个「请求访问」按钮。


在数据库访问管理方面,Indent 允许你为处理客户数据的系统设置时间限制的访问权限,并能够精确控制访问的范围。它支持三种集成方式:
零信任网络 (ZTN) - 如 Tailscale
身份组 - 如 Okta
自定义集成

Indent 为小型团队提供了一个默认具备安全保障的免费试用版本。对于那些需要更多高级功能的用户,付费方案的起价是每个用户每月 8 美元。


Bytebase

Bytebase 是一款开源的数据库 DevOps 工具,被誉为数据库管理领域的 GitLab/GitHub,它支持应用程序开发生命周期中的数据库管理。这款工具为数据库管理员(DBA)、开发人员和平台工程师提供了一个集中的网络协作平台,将 DBeaver、Liquibase、Flyway 等多种数据库工具整合在一起,方便使用。


Bytebase 旨在涵盖人与数据库在各个环节的交互,无论是变更管理、数据查询、访问控制等。凭借自动 SQL 审核、数据库持续集成/持续部署(CI/CD)、数据访问管理、数据脱敏等功能,Bytebase 确保所有数据库操作都能按照标准流程执行,并且完全可审计。

在社区版计划下可以免费使用,支持最多 10 名用户和 5 个数据库实例。对于规模较大的中型至大型组织,企业版提供了包括数据访问管理、审计日志在内的更多高级功能。

修改并放大默认返回的查询结果记录数量

DBeaver在查询结果时,默认在数据编辑器中只显示200条数据记录,当鼠标下划时会继续加载查询结果中记录。但如果是较为复杂的查询且结果记录有近千条时,下划时将查询再执行一次,并取其中limit ... offset ...;这就让人很难受了,即使在语句中加上limit xxx也无济于事。

现修改软件配置以限制结果集大小:
窗口(W) -> 首选项 -> 编辑器 -> 数据编辑器 -> 查询“数据集获取大小”中指定想让一次查询返回的记录数量。


英文版本的好像在这里:


另外在结果的过滤器(<F11>)中可以创建规则来对结果集进行本地过滤。