数据库连接故障排除
如果您无法连接到数据库,您需要弄清楚问题是出在 Metabase 还是您的数据库服务器。
如果您的数据库连接成功,但表没有显示在 数据浏览器 中,请转到 排查表缺失问题。
排查 Metabase 连接问题
-
转到管理员 > 数据库并选择您的数据库,以确认您的连接未被更改或删除。
-
如果 Metabase 尚未开始同步您的数据库,请点击同步数据库模式。
-
如果 Metabase 同步时间过长,请转到 排查同步和扫描问题。
-
-
转到管理员 > 工具 > 日志,查看 Metabase 是否因 错误 而未能同步。
- 如果日志信息太多,难以理解,请参阅 如何阅读服务器日志。
如果您无权访问 Metabase 管理面板,则需要询问设置 Metabase 的人员。
排查数据库服务器连接问题
-
使用运行 Metabase 的机器,检查您是否能从另一个客户端连接到数据仓库。
-
如果您可以从堡垒机或其他机器访问服务器,请检查您的 Metabase IP 地址是否可以访问您的数据库服务器。
-
如果您正在使用 Metabase Cloud,请检查您是否已将我们的 IP 地址列入白名单。
-
-
确保 Metabase 使用具有必要权限的角色来连接到您的数据仓库。请参阅 授予数据库权限。
以上步骤将帮助您检测问题是否发生在 Metabase 之外。要修复数据库服务器的问题,您需要参考您的数据库或云服务的文档。请记住,在进行更改后测试数据库连接。
如果您无权访问数据仓库服务器,则需要询问管理您的数据库或数据仓库的人员。
排查 BigQuery 和 Google Drive 连接问题
请参阅 排查 BigQuery 和 Google Drive 连接问题
常见的数据库连接错误
您的查询耗时过长
如果您在 Metabase 界面中看到此错误消息,请转到 排查超时问题。
无法从底层数据库获取连接
如果您在日志(管理员 > 工具 > 日志)中看到此错误消息。
- 转到管理员 > 数据库并选择您的数据库。
- 转到高级选项 > 其他 JDBC 连接字符串选项,并添加
trustServerCertificate=true。 - 点击保存。
您用于连接数据仓库的 Metabase 版本必须支持您数据库的版本。例如,46 版之前的 Metabase 版本不支持 Microsoft SQL Server 2022。
测试数据库连接
在完成本指南中的故障排除步骤时,您可以检查每个组件是否按预期工作。
检查服务器状态
如果您使用的是托管数据库服务,请转到控制台并验证其状态。
如果您有直接的命令行界面访问权限,请登录并确保您的数据库正在运行并接受查询。
检查您的服务器访问权限
验证您的 Metabase IP 地址是否可以访问数据库服务器
-
使用 netcat 命令
nc(或您的操作系统等效命令)来检查您是否可以连接到给定端口的主机。请注意,不同数据库默认使用不同的端口。 -
如果您正在使用 Metabase Cloud,请检查您是否已将我们的 IP 地址列入白名单。
-
检查您的数据库凭据是否正确。
命令示例
验证 PostgreSQL 默认配置中使用的端口(监听端口 5432)
nc -v your-db-host 5432
验证 PostgreSQL 数据库的凭据(如果数据库名称或用户名/密码不正确,您将看到错误)
psql -h HOSTNAME -p PORT -d DATABASENAME -U DATABASEUSER
测试连接状态
- 转到 Metabase 的 SQL 编辑器。
- 通过运行以下命令来测试与数据库的连接
SELECT 1
通过 JAR 文件运行时出现的 Snowflake 错误
如果您连接到 Snowflake 时遇到类似 JDBC driver internal error: exception creating result 的错误,并且您正在通过 JAR 文件运行,请在您的 java 命令中添加 --add-opens java.base/java.nio=ALL-UNNAMED。
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar
请参阅有关 运行 Metabase jar 文件 的文档。
相关问题
您还卡住了吗?
如果您无法使用故障排除指南解决问题
- 搜索或咨询 Metabase 社区。
- 搜索已知错误或限制。
- 聘请一位Metabase 专家。
阅读其他版本的 Metabase 的文档。