MySQL 8.0环境下MySQL Workbench与Power BI连接报错及正确连接步骤咨询
MySQL 8.0环境下MySQL Workbench与Power BI连接报错及正确连接步骤咨询
我之前也碰到过完全一样的问题,折腾了好一阵子才解决,下面给你整理了完整的正确连接步骤,还有针对这个"Internal connection fatal error. Error state: 18"错误的具体修复方案,你可以一步步来试:
一、Power BI与MySQL 8.0的标准连接步骤
先确保你本地的MySQL服务正常运行,且MySQL Workbench能顺利连接到本地数据库(这是基础前提),之后按以下步骤操作:
- 第一步:安装适配的MySQL ODBC驱动
Power BI连接MySQL依赖ODBC驱动,必须安装和你的Power BI位数一致(32/64位)、且适配MySQL 8.0的ODBC驱动(直接下载对应版本的MySQL ODBC 8.0驱动即可,注意区分系统位数)。 - 第二步:在Power BI中发起连接
打开Power BI Desktop,点击左侧的「获取数据」,在弹出的窗口里搜索并选择「MySQL Database」,点击「连接」。 - 第三步:填写连接信息
在弹出的对话框中,「服务器」填localhost(你是本地连接的话就用这个,远程库填对应IP),「数据库(可选)」如果知道要连接的具体库名可以直接填,不填后续也能选择,填完点击「确定」。 - 第四步:验证身份
选择「数据库」身份验证方式,填写你的MySQL用户名(比如root)和对应密码,点击「连接」。 - 第五步:选择数据并加载
进入导航器界面后,你可以选择要导入的表,或者点击「编辑」编写自定义SQL查询,确认需求后点击「加载」即可完成数据导入。
二、针对"Internal connection fatal error. Error state: 18"的修复方案
这个错误大概率是驱动不兼容或者MySQL用户认证插件的问题,按以下顺序排查:
- 检查ODBC驱动的兼容性
先确认你装的ODBC驱动是MySQL 8.0版本,且和Power BI的位数完全匹配(比如64位Power BI必须用64位ODBC驱动,32位同理)。如果之前装的是旧版本驱动,先卸载干净,再重装最新的适配驱动。 - 调整MySQL用户的认证插件
MySQL 8.0默认用caching_sha2_password认证插件,部分场景下Power BI对这个插件的支持不够稳定,你可以把用于连接的用户改成mysql_native_password插件:- 打开MySQL Workbench并连接到本地数据库
- 执行以下SQL语句(替换成你的用户名和密码):
ALTER USER '你的用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; FLUSH PRIVILEGES;
- 清除Power BI的数据源缓存
旧的连接缓存可能会导致报错,你可以点击Power BI顶部的「文件」→「选项和设置」→「数据源设置」,找到之前的MySQL连接记录,点击「清除权限」和「删除」,然后重新发起连接。 - 检查本地端口与防火墙
确认MySQL默认的3306端口没有被本地防火墙拦截,你可以在命令行里用telnet localhost 3306测试端口是否通畅(没装telnet的话,也可以用PowerShell的Test-NetConnection localhost -Port 3306),如果不通,就在防火墙里添加允许MySQL通过3306端口的规则。
你可以先按前两个修复步骤试,一般就能解决这个错误了,如果还有问题可以再补充更多细节~




