Beekeeper Studio 6.1.6 数据库连接与操作实战

Beekeeper Studio 6.1.6 连接 MySQL/PostgreSQL/SQLite 全流程实战:连接表单与连接 URL 双路径、服务端日志双向验证、SSH 隧道与 SSL 配置、查询编辑器与自动补全、数据编辑与六格式导出、全量快捷键速查,均实测取证。

Beekeeper Studio数据库客户端Beekeeper Studio2026/10/20

Beekeeper Studio 6.1.6 数据库连接与操作实战

目标:以 Beekeeper Studio 6.1.6 连接并操作 MySQL、PostgreSQL、SQLite 三类真实数据库,覆盖连接管理、SQL 查询、数据编辑与导出的完整工作流。连接 URL 均以服务端日志(MySQL general_log / PostgreSQL pg_stat_activity)双向验证,全部命令与回显在 Ubuntu 22.04 实测采集。

一、环境信息

本文实测环境如下:

项目内容
客户端Beekeeper Studio 6.1.6 社区版(deb 安装,Ubuntu 22.04,x86_64)
MySQL 服务端MySQL 8.0.46-0ubuntu0.22.04.4,监听 3306
PostgreSQL 服务端PostgreSQL 18.6 (Ubuntu 18.6-1.pgdg22.04+2),监听 5432
SQLite本地文件 /root/demo-data.sqlite(sqlite3 3.37.2 创建)
演示账号MySQL admin / PostgreSQL admin,密码 q1w2e3r4(本文演示专用)
演示数据库MySQL bkstudio_demo(表 customers)、PostgreSQL bkstudio_demo(表 orders)、SQLite 表 products

连接验证采用「客户端操作 + 服务端日志」双向取证:Beekeeper Studio 发起连接后,分别在 MySQL general_log 与 PostgreSQL pg_stat_activity 中确认连接真实建立。

二、前置条件:准备三套演示数据库

2.1 MySQL 服务端准备

在 MySQL 服务器上创建演示账号、数据库与数据(root 登录执行):

mysql -h127.0.0.1 -uroot -p
CREATE USER 'admin'@'%' IDENTIFIED BY 'q1w2e3r4';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
CREATE DATABASE bkstudio_demo;
USE bkstudio_demo;
CREATE TABLE customers (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50),
  city VARCHAR(50),
  amount DECIMAL(10,2)
);
INSERT INTO customers(name,city,amount) VALUES
  ('user_1','上海',627.55),('user_2','深圳',183.20),
  ('user_3','北京',902.71),('user_4','广州',445.03),
  ('user_5','北京',518.66),('user_6','上海',770.12),
  ('user_7','深圳',301.89),('user_8','广州',655.40);

实测回显(输出节选,实测首尾):

Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 8 rows affected (0.01 sec)
Records: 8  Duplicates: 0  Warnings: 0

核对账号与数据:

SELECT user,host FROM mysql.user WHERE user='admin';
SELECT COUNT(*) FROM bkstudio_demo.customers;

实测回显:

+-------+------+
| user  | host |
+-------+------+
| admin | %    |
+-------+------+
+----------+
| COUNT(*) |
+----------+
|        8 |
+----------+

同时开启 general_log,用于后面验证 Beekeeper Studio 的真实连接(实验结束可关闭):

SET GLOBAL general_log='ON';
SET GLOBAL log_output='TABLE';

实测回显:

Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

2.2 PostgreSQL 服务端准备

PGPASSWORD=q1w2e3r4 psql -h127.0.0.1 -U postgres
CREATE ROLE admin LOGIN PASSWORD 'q1w2e3r4' SUPERUSER;
CREATE DATABASE bkstudio_demo OWNER admin;
\c bkstudio_demo
CREATE TABLE orders (id serial PRIMARY KEY, product text, qty int);
INSERT INTO orders(product,qty) SELECT 'item_'||g, g*3 FROM generate_series(1,8) g;

实测回显(输出节选,实测首尾):

CREATE ROLE
CREATE DATABASE
You are now connected to database "bkstudio_demo" as user "postgres".
CREATE TABLE
INSERT 0 8

2.3 SQLite 演示文件准备

SQLite 无服务端,直接用 sqlite3 命令行创建演示文件:

sqlite3 /root/demo-data.sqlite "CREATE TABLE products(id INTEGER PRIMARY KEY, name TEXT, price REAL);
INSERT INTO products(name,price) VALUES ('Widget',9.99),('Gadget',19.5),('Gizmo',5.25);"
sqlite3 /root/demo-data.sqlite 'SELECT * FROM products;'

实测回显:

1|Widget|9.99
2|Gadget|19.5
3|Gizmo|5.25

三、连接管理总览

Beekeeper Studio 提供三条打开连接的路径(均在本文实测):

  1. 图形表单:主界面点 + New Connection,选数据库类型后填表单——适合首次连接与保存常用连接;
  2. 连接 URL:启动命令直接带连接 URL 参数(beekeeper-studio 'mysql://...'),或主界面 Import from URL——适合脚本化打开与快速临时连接;
  3. 快速搜索:已保存的连接/表可用 Ctrl+P(macOS Cmd+P)Quick Search 面板直接打开。

连接相关的数据都存在应用元数据库 ~/.config/beekeeper-studio/app.db(SQLite)中:

  • saved_connection 表:保存的连接(含主机、端口、凭据、SSL、SSH 隧道、堡垒机等全部配置字段);
  • used_connection 表:最近打开的连接记录(RECENT 列表的数据来源);
  • 连接 URL 打开的临时连接不会写入 saved_connection,但会进入 used_connection。

字段级详解见本专栏《Beekeeper Studio 6.1.6 配置与 CLI 参数详解》第九章。

四、连接 MySQL 实战

4.1 新建连接表单

主界面点击 + New Connection,连接类型列表选择 MySQL,表单按下列参数填写:

表单项值(本文演示)说明
Connection TypeMySQL也适用于 MariaDB/TiDB/StarRocks
Host数据库主机名或 IP本机数据库填 127.0.0.1
Port3306MySQL 默认端口
Useradmin演示账号
Passwordq1w2e3r4演示口令
Default Databasebkstudio_demo连接后默认选中的库,可留空
Save Connectiondemo-mysql保存连接的名称,便于复用

点击 Connect 完成连接。连接成功后左侧 Entities 面板出现库与表树(bkstudio_demo → customers),顶部显示连接名称与颜色标记。

💡 说明:表单还提供 SSH 隧道(SSH Enabled 开关后展开主机/端口/密钥/堡垒机字段)、SSL(CA/证书/私钥文件与 sslRejectUnauthorized 开关)、Socket Path(Unix domain socket 直连)三个扩展区,字段含义见 4.4 节。

4.2 连接 URL 方式(实测)

CLI 直接传连接 URL 打开连接(MySQL URL 格式 mysql://用户:密码@主机:端口/默认库):

beekeeper-studio 'mysql://admin:q1w2e3r4@127.0.0.1:3306/bkstudio_demo'

连接 URL 可用的 scheme 与桌面注册的 URL 协议一致,包括 mysql、mariadb、postgresql/postgres/psql、sqlite、mssql、redshift、cockroachdb、tidb、redis 等(来源:安装包 desktop 文件 MimeType 声明,查询日期 2026-10-20)。

4.3 服务端连接验证

连接建立后,在 MySQL 服务端查 general_log:

mysql -h127.0.0.1 -uroot -pq1w2e3r4 -e "SELECT event_time, command_type, argument FROM mysql.general_log WHERE command_type='Connect' AND argument LIKE 'Connect%admin%' ORDER BY event_time DESC LIMIT 3;"

实测回显:

+---------------------+--------------+---------------------------------------------------+
| event_time          | command_type | argument                                          |
+---------------------+--------------+---------------------------------------------------+
| 2026-10-20 03:29:43 | Connect      | admin@localhost on bkstudio_demo using TCP/IP     |
+---------------------+--------------+---------------------------------------------------+

再查连接池保持情况(Beekeeper Studio 使用连接池,空闲时连接保持 Sleep):

mysql -h127.0.0.1 -uroot -pq1w2e3r4 -e "SELECT id,user,host,db,command,time,state FROM information_schema.processlist WHERE user='admin';"

实测回显:

+----+-------+-----------------+---------------+--------+------+-------+
| id | user  | host            | db            | command| time | state |
+----+-------+-----------------+---------------+--------+------+-------+
| 16 | admin | localhost:49640 | bkstudio_demo | Sleep  |   21 |       |
+----+-------+-----------------+---------------+--------+------+-------+

连接元数据同步落盘(used_connection 表记录了这次 URL 连接):

sqlite3 -line ~/.config/beekeeper-studio/app.db "SELECT connectionType, host, port, username, defaultDatabase, options FROM used_connection WHERE connectionType='mysql' ORDER BY createdAt DESC LIMIT 1;"

实测回显:

connectionType = mysql
host = 127.0.0.1
port = 3306
username = admin
defaultDatabase = bkstudio_demo
options = {"connectionMethod":"manual"}

三层证据(应用元数据、服务端 general_log、processlist)时间与参数完全对应,连接链路验证闭环。

4.4 MySQL 连接扩展字段

MySQL 类连接在表单/保存记录中可用的扩展配置(与 saved_connection 表字段一一对应):

配置字段/开关默认值说明
默认数据库defaultDatabase空连接后自动选中的 schema
SSLssl关开启后可用 sslCaFile/sslCertFile/sslKeyFile
证书校验sslRejectUnauthorized开关闭后接受自签名证书(仅测试环境)
Unix SocketsocketPathEnabled + socketPath关如 /var/run/mysqld/mysqld.sock
SSH 隧道sshEnabled关sshHost/sshPort/sshUsername + keyfile/password/agent 三种认证
堡垒机跳板sshBastionHost空支持独立认证与密钥
只读模式readOnlyMode关连接级禁写(v6.1.0 起社区版可用)
Windows 认证windowsAuthEnabled关SQL Server 场景

五、连接 PostgreSQL 实战

5.1 表单与 URL 连接

连接类型选 PostgreSQL,表单参数:Host 填数据库主机、Port 5432、User admin、Password q1w2e3r4、Default Database bkstudio_demo。PostgreSQL 专属扩展项包括 Service Name(读取 pg_service.conf 服务名)、Domain(Windows 域认证)与 SSL 模式。

连接 URL 方式(postgresql:// 或 postgres:// 均可):

beekeeper-studio 'postgresql://admin:q1w2e3r4@127.0.0.1:5432/bkstudio_demo'

5.2 服务端连接验证

连接建立后查 pg_stat_activity:

PGPASSWORD=q1w2e3r4 psql -h127.0.0.1 -U postgres -c "SELECT pid, usename, client_addr, state, backend_start FROM pg_stat_activity WHERE usename='admin';"

实测回显:

  pid   | usename | client_addr | state |         backend_start
--------+---------+-------------+-------+-------------------------------
 547127 | admin   | 127.0.0.1   | idle  | 2026-10-20 03:30:11.719712+08
(1 行记录)

state=idle 表示连接池中的空闲连接保持存活,与 MySQL 侧的 Sleep 状态等价。

六、连接 SQLite 实战

6.1 打开本地数据库文件

SQLite 连接无需主机端口,直接指向文件路径。两条路径均已实测:

  • GUI 表单:连接类型选 SQLite,在文件选择器中定位 /root/demo-data.sqlite;
  • CLI 文件路径(推荐,最快):
beekeeper-studio /root/demo-data.sqlite

打开后窗口标题变为 demo-data.sqlite - Beekeeper Studio - Free Version,左侧 Entities 面板列出 products 表,应用元数据库同步记录这次打开(used_connection 表 connectionType=sqlite, path=/root/demo-data.sqlite)。

💡 说明:应用内置了一个演示连接 Demo Database(指向应用自带 demo.db),首次启动即在 SAVED 列表中,双击即可体验完整功能而无需自备数据库。

6.2 执行第一个查询

在查询编辑器输入并运行:

SELECT * FROM products;

实测结果(结果表格实际内容):

idnameprice
1Widget9.99
2Gadget19.5
3Gizmo5.25

状态栏实测回显:3 行 · 0 affected · 1ms——返回 3 行、无写入受影响、耗时 1 毫秒。输入过程中自动补全面板弹出,按输入前缀列出列名(id/name/price)、表名(products)与 SQL 关键字(ABORT/ABSOLUTE/ACTION 等)。

七、SSL 与 SSH 隧道连接

内网数据库常见「经跳板机 SSH 隧道访问」的形态,Beekeeper Studio 内置支持,无需额外端口转发工具。配置要点(均在连接表单 SSH 区):

项说明
SSH Enabled开启隧道;数据库 Host/Port 填「从跳板机视角」的地址
SSH Host / Port跳板机地址与端口(默认 22)
SSH Modekeyfile(密钥文件)/ password(口令)/ agent(SSH Agent)三选一
SSH Keyfile / Username密钥路径与登录用户
Bastion Host二级跳板(堡垒机),支持独立认证方式与凭据
Keepalive Interval隧道保活间隔,默认 60 秒

配置基线说明:SSH 密钥/口令等凭据开启「remember」后加密存入 app.db(应用级密钥文件 .key 保护),无明文落盘。

⚠️ 注意:Snap 版使用 SSH 隧道前必须授权密钥目录访问:sudo snap connect beekeeper-studio:ssh-keys :ssh-keys,且 Snap 沙箱无法访问 SSH Agent——依赖 agent 认证请改用 deb/AppImage 版(来源:官方 Linux 安装文档,查询日期 2026-10-20)。

SSL 直连(数据库侧启用 TLS)在连接表单 SSL 区配置:勾选 SSL,按需提供 CA 证书、客户端证书与私钥文件;sslRejectUnauthorized 默认开启(拒绝无效证书),自签名测试环境可临时关闭。

八、查询编辑器操作

8.1 多 Tab 与查询组织

查询工作区按 Tab 组织:顶部 + 新建查询 Tab,Tab 名默认 Query #N,未保存修改显示圆点标记。查询可保存为收藏(Save,Ctrl+S)并归入查询文件夹;Ctrl+Shift+T 重开最近关闭的 Tab,Ctrl+Tab / Ctrl+Shift+Tab 切换,Alt+1..9 直达第 N 个 Tab。

8.2 运行查询的三种方式

编辑器顶栏右侧提供 Run All(下拉可切换)与保存、AI 辅助按钮。运行行为由两个配置项决定(默认值见应用配置):

动作默认快捷键行为
Run All(主操作)Ctrl+Enter 或 F5运行 Tab 内全部查询或选中部分(primaryQueryAction=submitTabQuery)
Run Current(副操作)Ctrl+Shift+Enter 或 Shift+F5仅运行光标所在查询(secondaryQueryAction=submitCurrentQuery)
导出为文件Ctrl+I / Ctrl+Shift+I运行并将结果直接写入文件
格式化 SQLCtrl+Shift+F格式化当前 SQL(默认格式化器 bk-default)

手动提交模式的事务由 Ctrl+Shift+C(Commit)与 Ctrl+Shift+R(Rollback)控制;自动提交为默认行为。

8.3 自动补全与参数化查询

编辑器基于 schema 提供表/列补全(Ctrl+Space 强制触发)。若要临时关闭补全,可在配置中设 disableSchemaCompletion / disableKeywordCompletion(配置方法见《Beekeeper Studio 6.1.6 配置与 CLI 参数详解》)。

参数化查询按数据库方言自动适配:MySQL 默认支持 ? 位置参数,PostgreSQL 默认支持 $1 编号参数,SQLite 同时支持 ?、:name、@name(对应配置段 [db.*.paramTypes],默认值均可改)。写好参数后运行时应用会弹窗请求每个参数的取值。

8.4 快速搜索

Ctrl+P 打开 Quick Search 面板,按名称直达表、视图与已保存查询(实测面板提示语:Type a table name or query name)。面板内快捷键:Enter 打开、Ctrl+Enter 后台打开(仅表)、→ 后台打开、Esc 关闭。

九、数据编辑与导出

9.1 表格数据编辑

左侧 Entities 双击表进入数据网格(或 Quick Search 直达)。数据网格能力:

  • 过滤:Ctrl+F 聚焦过滤输入框,Esc 退出;
  • 编辑:双击单元格进入编辑态(可配置 editTrigger=click),Enter 保存;Backspace/Delete 置 NULL;
  • 行操作:Ctrl+N 新增行、Ctrl+D 克隆选中行、Ctrl+Alt+- 删除行、Ctrl+Shift+V 粘贴为新行;
  • 翻页:Ctrl+→ / Ctrl+← 前后翻页,Ctrl+L / Ctrl+H 跳末页/首页(末页跳转需数据库支持高效 count,allowSkipToLastPage 默认对 MySQL/PG/SQLite 开启);
  • 底部 Edit Data 按钮在「只读预览」与「可编辑表格」间切换。

所有改动先在客户端暂存,点击保存(Ctrl+S)后批量生成并执行 UPDATE/INSERT/DELETE。

9.2 导出

结果表格右上的 Download 按钮导出当前结果集,支持格式(来源:应用导出模块格式清单,查询日期 2026-10-20):

格式用途
CSV通用表格交换
JSON数组结构,程序消费
NDJSON每行一个 JSON 对象,流式处理
XLSXExcel 工作簿
Markdown文档内嵌表格
SQL(INSERT)生成 INSERT 语句,数据迁移

Ctrl+I(Run to file)可把查询结果不经表格直接写入导出文件;导出出错提示的展示时长由 [ui.export] errorNoticeTimeout(默认 60000 毫秒)控制。

十、快捷键速查表

以下为 6.1.6 全部默认快捷键(来源:应用配置文件 [keybindings.*] 段实测取证;CtrlOrCmd 表示 Windows/Linux 用 Ctrl、macOS 用 Cmd):

通用操作:

快捷键动作
CtrlOrCmd+R / F5刷新
CtrlOrCmd+N新增行
CtrlOrCmd+S保存
CtrlOrCmd+Shift+S在 SQL 编辑器中打开
CtrlOrCmd+P快速搜索
CtrlOrCmd+C / V复制 / 粘贴选中
CtrlOrCmd+D克隆选中
CtrlOrCmd+Alt+-删除选中
CtrlOrCmd+Z / CtrlOrCmd+Shift+Z撤销 / 重做

Tab 管理:

快捷键动作
CtrlOrCmd+W关闭 Tab
CtrlOrCmd+Shift+W强制关闭 Tab
Ctrl+Tab / CtrlOrCmd+PageDown下一个 Tab
Ctrl+Shift+Tab / CtrlOrCmd+PageUp上一个 Tab
CtrlOrCmd+Shift+T重开最近关闭的 Tab
Alt+1…9跳转第 N 个 Tab

查询编辑器:

快捷键动作
CtrlOrCmd+Enter / F5运行全部(主操作)
CtrlOrCmd+Shift+Enter / Shift+F5运行当前(副操作)
CtrlOrCmd+I / CtrlOrCmd+Shift+I结果写入文件(主/副操作)
CtrlOrCmd+L聚焦编辑器
Shift+↑ / Shift+↓切换结果集
CtrlOrCmd+`面板焦点切换
CtrlOrCmd+F表格过滤
CtrlOrCmd+Shift+C / CtrlOrCmd+Shift+R手动 Commit / Rollback

数据表格:

快捷键动作
CtrlOrCmd+→ / ←下 / 上一页
CtrlOrCmd+L / H末页 / 首页
CtrlOrCmd+F聚焦过滤框
Shift+Enter打开单元格编辑器
Backspace / Delete置 NULL
CtrlOrCmd+Shift+V粘贴为新行

快速搜索面板: CtrlOrCmd+K / CtrlOrCmd+O 聚焦,Enter 打开,Esc 关闭,→ 后台打开。

所有键位可在 user.config.ini 的对应 [keybindings.*] 段覆盖为自定义组合。

十一、常见问题(FAQ)

Q1:连接报 ER_ACCESS_DENIED_ERROR(MySQL)?

账号口令错误或 MySQL 用户主机范围不含客户端来源。核对 SELECT user,host FROM mysql.user;,确保 host 为 % 或客户端网段;改密用 ALTER USER 'admin'@'%' IDENTIFIED BY 'q1w2e3r4';。

Q2:连接 PostgreSQL 报密码认证失败(scram-sha-256)?

pg_hba.conf 中该来源网段要求 scram-sha-256 时,表单密码必须与角色密码一致;检查是否连错端口(默认 5432)或角色缺 LOGIN 属性(CREATE ROLE ... LOGIN)。

Q3:连接 URL 打开后停在欢迎页?

URL 语法需完整(scheme://user:pass@host:port/db)。密码含特殊字符(@、/、:)需做 URL 编码,如 @ 写成 %40。URL 连接是临时连接,不会出现在 SAVED 列表,但可在 RECENT 最近连接中找到。

Q4:SQL Server / Oracle 连接入口不见了?

社区版数据库范围仅含 PostgreSQL、MySQL、SQLite、SQL Server、Redshift、CockroachDB、MariaDB、TiDB、BigQuery、Redis、GreengageDB(来源:官方支持数据库矩阵,查询日期 2026-10-20);Oracle、MongoDB、ClickHouse 等需付费版。

Q5:查询结果很多时编辑器卡顿?

结果集渲染上限由 [ui.queryEditor] maxResults 控制(默认 50000 行)。大结果集建议加 LIMIT 或直接 Ctrl+I 导出为文件,不经内存表格渲染。

Q6:保存的连接换机器后打不开(凭据解密失败)?

凭据加密密钥在 ~/.config/beekeeper-studio/.key,迁移配置必须连同 .key 与 app.db 一起拷贝;只拷 app.db 会因密钥缺失而无法解密已保存的密码。

十二、参考链接