goland 本身无内置数据库,依赖默认启用的“数据库工具和 sql”插件提供数据库功能;若相关功能缺失,需通过 settings → plugins → installed 中勾选该插件并重启。

GoLand 本身没有“内置数据库”,它依赖 数据库工具和 SQL 插件 提供数据库连接能力——该插件默认已启用,但若找不到数据库相关功能,大概率是插件被手动禁用了。
确认并启用数据库工具和 SQL 插件
这是所有后续操作的前提。如果 数据库 工具窗口(View → Tool Windows → Database)不出现,或右键表/数据源无 SQL 相关菜单,第一步必须检查插件状态:
- 按
Ctrl+Alt+S(Windows/Linux)或Cmd+,(macOS)打开 Settings - 进入
Plugins→ 切换到Installed标签页 - 搜索
Database Tools and SQL,确保其复选框已勾选 - 如刚启用,需重启 GoLand 才生效
创建 MySQL 数据源时填什么?关键字段说明
在 Database 工具窗口点击 + → Data Source → MySQL 后,核心配置项如下(不是所有字段都必填):
-
Host:MySQL 实例地址,本地常用127.0.0.1或localhost;云数据库填公网 IP 或域名 -
Port:默认3306,若改过端口必须匹配 -
Database:要连接的具体库名(非 MySQL 服务名),留空可连上但看不到表 -
User和Password:有对应权限的账号,不推荐用root连生产环境 -
URL字段下方会自动生成 JDBC URL,格式为jdbc:mysql://host:port/database?useSSL=false&serverTimezone=UTC;若需调整时区或 SSL 行为,直接在此 URL 后追加参数即可 - 首次连接失败常见原因是驱动缺失:点击提示中的
Download missing driver files,GoLand 会自动下载适配的 MySQL JDBC 驱动(mysql-connector-java)
连接成功后,为什么看不到表?常见过滤陷阱
即使测试连接显示 Success,数据库树里仍可能为空——这通常不是连接问题,而是对象过滤或内省范围限制:
- 右键数据源 →
Properties→ 切换到Schemas标签页,确认目标库名是否在Selected schemas列表中;未勾选则不会加载其下对象 - 检查
Object Filter(同个 Properties 窗口底部),默认可能启用了类似table:-.*_backup的排除规则,误删了整个模式;清空该字段可重置 - MySQL 8+ 默认认证插件为
caching_sha2_password,旧版 JDBC 驱动可能不兼容;此时需在 JDBC URL 后追加&allowPublicKeyRetrieval=true&useSSL=false - 连接后右键数据库名 →
Refresh(或按F5),强制触发内省;某些权限受限账号无法列出全部 schema,需确认账号有SHOW DATABASES权限
导出表结构或数据时,别忽略 DDL 与数据分离原则
GoLand 的导出逻辑是「结构」和「内容」分开处理的,这点和 mysqldump 全量导出不同:
- 右键某张表 →
SQL Scripts→SQL Generator…(Ctrl+Alt+G):生成的是CREATE TABLE语句(DDL),不含数据 - 右键同一张表 →
Export Data…:才弹出 CSV/JSON/Excel 等数据导出选项 - 若需完整迁移,得先导出 DDL 创建新库,再导出数据导入;直接复制粘贴查询结果只适合小量调试
- 导出时注意时区和字符集:在
SQL Generator设置中勾选Use database charset,否则中文可能乱码
最易被忽略的是:GoLand 对 MySQL 的支持基于 JDBC,它不运行任何 Go 代码,也不调用 go-sql-driver/mysql;你项目里用 GORM 或 sqlx 写的连接逻辑,和 IDE 里的数据源完全无关——两者独立维护、独立配置、独立权限体系。











