PAYATHON 2026

Power BI 连接 MySQL 8.0.41 报 Error state: 18 如何排查?

数据小陈

Power BI Desktop 应直接连接 MySQL Server。MySQL Workbench 是数据库管理客户端,可以通过其中保存的连接核对服务器地址、端口和用户名。

仅凭 Internal connection fatal error. Error state: 18 无法确定唯一原因,也不能保证安装某个特定版本的驱动就能解决问题。可以依次检查服务器连接、Connector/NET、Power BI 凭据和详细日志。

1. 核对实际连接的 MySQL Server

在 MySQL Workbench 的连接配置中查看主机、端口和连接方式。只有 MySQL Server 与 Power BI Desktop 位于同一台机器时,localhost 才指向预期的本地服务器。如果 Workbench 使用 SSH 隧道,Power BI 也需要具备相应的网络访问路径。

连接数据库后,可以执行:

SELECT VERSION() AS server_version,
       @@hostname AS server_host,
       @@port AS server_port,
       CURRENT_USER() AS authenticated_account;

如果已安装 mysql 命令行客户端,可以在运行 Power BI 的机器上测试 TCP 连接:

mysql --protocol=TCP --host=127.0.0.1 --port=3306 --user=your_user --password

将 your_user 和 3306 分别替换为实际用户名和端口。示例中的本地地址只适用于本机数据库,密码会通过交互方式输入。显式指定 TCP 有助于避免其他连接方式影响测试,参见 MySQL 连接选项说明。

  • 如果命令行也无法连接,先根据具体错误检查服务状态、监听端口、网络和账户权限。
  • 如果命令行连接成功,而 Power BI 连接失败,继续检查 Power BI 使用的数据提供程序。命令行连接成功不能证明 Connector/NET 工作正常。

2. 安装并检查 Connector/NET

Microsoft 的 MySQL 连接器文档要求在运行 Power BI Desktop 的机器上安装 Oracle MySQL Connector/NET。安装了 Workbench 不代表这一依赖已正确安装。参见 MySQL 连接器前置条件。

关闭 Power BI Desktop,从 MySQL 官方下载页获取适用的安装包,并根据对应版本的支持范围核对兼容性。安装或修复完成后,重新打开 Power BI。

可以按照 Microsoft 文档,在 Windows PowerShell 中检查提供程序的注册情况:

[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv

查看列表中是否有 MySQL Data Provider。如果没有,先排查安装和注册问题;如果有,也不能说明整个连接链路已经通过验证。

原问题没有提供 Connector/NET 和 Power BI Desktop 的具体版本,因此无法指定一个必然有效的升级或降级版本。

3. 在 Power BI Desktop 中重新建立连接

  1. 选择“获取数据”→“MySQL 数据库”。
  2. 输入已核实的服务器地址。本机 TCP 连接可以尝试 127.0.0.1;使用非默认端口时,应按连接器支持的服务器地址格式指定端口。
  3. 输入需要访问的数据库名称。
  4. 身份验证选择“数据库”(Database),输入 MySQL 用户名和密码。
  5. 连接成功后,在 Navigator 中选择表,再加载或转换数据。

该流程与 Microsoft 的 MySQL 连接步骤一致。

如果之前保存过错误凭据,可以打开“文件”→“选项和设置”→“数据源设置”,找到对应的 MySQL 数据源,编辑凭据,或仅清除该数据源的权限后重新连接。清除后需要重新输入认证信息。

4. 仍然报 Error state: 18 时怎么办?

先获取底层异常,再决定如何修改配置:

  1. 打开“文件”→“选项和设置”→“选项”→“诊断”。
  2. 启用 Enable tracing。
  3. 重新连接,复现一次错误。
  4. 关闭 Power BI Desktop,确保日志写入磁盘,再检查对应时间的日志。

可以通过诊断页面中的文件夹链接打开日志目录,操作步骤见 Power BI 诊断文档。

根据日志提示继续排查:

  • 提示提供程序或程序集加载失败:检查 Connector/NET 的安装、注册和版本兼容性。
  • 提示访问被拒绝:检查用户名、密码、账户允许的来源主机及数据库权限。
  • 提示 TLS、证书或身份验证协商失败:检查客户端支持范围及服务器相关配置,不能仅凭状态码关闭加密或切换认证插件。

继续定位时,记录 Power BI Desktop 的完整版本号、Connector/NET 版本、实际主机和端口、TCP 测试结果,以及日志中的内部异常。现有信息足以确定排查顺序,但还不足以确认此次错误的具体根因。

备注:内容仅供参考。