Beekeeper Studio 6.1.6 数据库连接与操作实战
Beekeeper Studio 6.1.6 连接 MySQL/PostgreSQL/SQLite 全流程实战:连接表单与连接 URL 双路径、服务端日志双向验证、SSH 隧道与 SSL 配置、查询编辑器与自动补全、数据编辑与六格式导出、全量快捷键速查,均实测取证。
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 提供三条打开连接的路径(均在本文实测):
- 图形表单:主界面点 + New Connection,选数据库类型后填表单——适合首次连接与保存常用连接;
- 连接 URL:启动命令直接带连接 URL 参数(
beekeeper-studio 'mysql://...'),或主界面 Import from URL——适合脚本化打开与快速临时连接; - 快速搜索:已保存的连接/表可用
Ctrl+P(macOSCmd+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 Type | MySQL | 也适用于 MariaDB/TiDB/StarRocks |
| Host | 数据库主机名或 IP | 本机数据库填 127.0.0.1 |
| Port | 3306 | MySQL 默认端口 |
| User | admin | 演示账号 |
| Password | q1w2e3r4 | 演示口令 |
| Default Database | bkstudio_demo | 连接后默认选中的库,可留空 |
| Save Connection | demo-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 |
| SSL | ssl | 关 | 开启后可用 sslCaFile/sslCertFile/sslKeyFile |
| 证书校验 | sslRejectUnauthorized | 开 | 关闭后接受自签名证书(仅测试环境) |
| Unix Socket | socketPathEnabled + 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;
实测结果(结果表格实际内容):
| id | name | price |
|---|---|---|
| 1 | Widget | 9.99 |
| 2 | Gadget | 19.5 |
| 3 | Gizmo | 5.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 Mode | keyfile(密钥文件)/ 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 | 运行并将结果直接写入文件 |
| 格式化 SQL | Ctrl+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 对象,流式处理 |
| XLSX | Excel 工作簿 |
| 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 会因密钥缺失而无法解密已保存的密码。
十二、参考链接
- 官方连接指南:https://docs.beekeeperstudio.io/user_guide/connecting/connecting/
- 支持数据库矩阵:https://docs.beekeeperstudio.io/user_guide/connecting/supported-databases/
- SQLite 连接文档:https://docs.beekeeperstudio.io/user_guide/connecting/sqlite/
- 官方文档站首页:https://docs.beekeeperstudio.io/
- 本专栏姊妹篇:《Beekeeper Studio 6.1.6 介绍与选型指南》、《Ubuntu 22.04 安装 Beekeeper Studio 6.1.6 指南》