IntelliJ IDEA 数据库工具配置只读连接的方法
来源:17golang原创
时间:2026-11-13 14:31:03 134浏览 收藏
IntelliJ IDEA 的数据库只读开关位于数据源属性的 Options → Read-only:在 Database 工具窗口选中连接,打开 Data Sources and Drivers,勾选后保存即可。这个开关用于减少误改;真正限制写入,还应使用数据库端只授予所需查询权限的账号。某些驱动不支持只读状态时,查询控制台仍可能执行修改语句。
官方地址:https://www.jetbrains.com/idea/
只读连接设置帮助:https://www.jetbrains.com/help/idea/configuring-database-connections.html
以下使用英文界面标签说明路径,图中均为原创操作说明图,不是软件截图。示例连接称为 Report-RO,账号名 report_reader,均为演示名称;服务器、数据库及授权范围请使用管理员提供的实际信息。
步骤一:准备查询账号并打开连接属性
准备数据库类型、服务器地址、端口、数据库名称、查询账号及所需的 SSL/SSH 信息。不要直接把日常管理员账号改个连接名就当成只读账号;也不要把密码塞进可复制的 JDBC URL 文本。
在 View → Tool Windows → Database 打开数据库窗口。已有连接时,选中它并点击工具栏的 Data Source Properties,进入 Data Sources and Drivers;也可在选中数据源后使用 Shift+Enter。如果需要新建连接,则在 Database 工具栏点击 + → Data Source → 对应数据库类型。
在左侧选中 Report-RO,进入 General 页,将服务器、端口、User 和 Database 等字段对应到实际连接信息。如果提示缺少驱动文件,按对话框中的下载提示完成驱动准备;连接需要隧道时,在 SSH/SSL 页按管理员要求设置。

点击 Test Connection 后,应看到连接成功的反馈,再继续下一步。如果失败,先核对网络、认证和驱动信息。连接测试成功只说明能够建立通信,不证明账号已经没有写权限。
如果找不到 Database 功能,进入 IDE 设置的 Plugins 查找并启用 Database Tools and SQL。官方帮助说明,没有 Ultimate 订阅时数据库功能支持有限,因此还需要确认所用版本与订阅是否提供所需能力。
步骤二:在 Options 中开启 Read-only
保持左侧选中需要保护的 Report-RO 数据源,点击右侧 Options 标签,在 Connection 区域勾选 Read-only。不要误选到另一个数据源,也不要把事务控制中的 Manual 当成只读设置。

此时可见的确认状态是 Read-only 前有勾选标记,且当前左侧连接仍为 Report-RO。官方帮助指出,开启后不能在 Data editor 中修改数据;查询控制台的限制还取决于驱动对只读状态的支持。
如果连接使用了 Session Templates,还应留意模板的 Authentication、Read-only 等选项可能覆盖数据源的一般连接设置。不要仅检查默认页,就假定所有会话采用相同账号与只读状态。
步骤三:保存配置并确认查询范围
点击对话框底部 Apply,再点击 OK 关闭。重新打开同一数据源的属性,确认 Read-only 仍勾选;若已有旧会话,先完成或取消未提交事务,再断开并重新连接,避免把旧会话状态与新设置混淆。
在 Database 树中展开被授权的数据库或 schema,双击一张允许访问的表,打开 Data editor。预期是可以读取授权数据,而不能像可写连接那样修改表格单元格。下图只展示这种阅读状态,不保证每个版本的按钮形状和位置完全相同。

如果看不到表,回到 Data Sources and Drivers → Schemas 检查展示范围,再由管理员确认账号对目标对象的访问权限。Schemas 的可见性设置控制 IDE 展示哪些对象,不能代替数据库端授权。
| 设置或状态 | 实际含义 |
|---|---|
| 连接名含 RO | 帮助人识别用途,本身没有权限作用 |
| Read-only 已选中 | 提供 IDE 及驱动相关的只读防护 |
| 事务模式 Manual | 控制提交方式,不等于禁止写入 |
| 数据库查询专用账号 | 由数据库权限机制限制可执行操作 |
查询连接的交付信息应包含数据源名称、账号、允许访问的对象及是否采用只读设置,不包含密码。需要给其他人复用配置时,使用团队认可的凭据分发方式;导出连接配置不意味着对方自动获得相同数据库权限。
只读连接的常见问题
勾选 Read-only 后就能放心使用管理员账号吗?
不能。它主要减少误操作;驱动支持和控制台行为存在差异。数据库账号应按实际查询任务限制权限,避免借助客户端开关代替服务端访问控制。
为什么能查看表,但查询控制台仍能修改?
官方说明中有这一限制:驱动若不支持只读状态,控制台仍可能修改。先停止使用该连接执行变更,再让管理员检查账号权限与连接会话;不要在生产表上故意试写来证明是否只读。
为什么只读设置保存了,新会话状态却不同?
检查是否选中了其他数据源、是否仍在使用旧会话,以及 Session Templates 是否覆盖了默认设置。查询文件绑定的数据源也应与 Report-RO 一致。
只读账号是否一定能看到全部表?
不一定。能否读取具体对象由数据库授权决定,IDE 中的 Schemas 选择还会影响展示范围。只申请完成查询任务所需的对象权限即可。
字段与驱动限制参考:https://www.jetbrains.com/help/idea/data-sources-and-drivers-dialog.html。数据库功能说明:https://www.jetbrains.com/help/idea/relational-databases.html。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
457 收藏
-
352 收藏
-
278 收藏
-
167 收藏
-
155 收藏
-
274 收藏
-
320 收藏
-
113 收藏
-
139 收藏
-
150 收藏
-
315 收藏
-
164 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习