You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL-ODBC以第二用户连接失败,Workbench与CLI连接正常

解决ODBC连接MySQL PBI用户权限拒绝问题

可能的原因与解决步骤

1. 检查用户主机匹配规则

MySQL的权限是基于user@host组合生效的,ODBC通过SSH隧道连接时,请求会被识别为来自localhost,如果你的PBI用户创建时指定的主机不是localhost或%,就会触发权限拒绝。

  • 执行以下命令查看PBI用户的主机配置:
    SELECT user, host FROM mysql.user WHERE user = 'PBI';
    
  • 如果结果中没有PBI@localhost,需要创建对应主机的用户并按需授权:
    CREATE USER 'PBI'@'localhost' IDENTIFIED BY '你的密码';
    GRANT SELECT, SHOW VIEW ON 报表所需数据库.* TO 'PBI'@'localhost'; -- 按需分配最小权限,无需给ALL
    FLUSH PRIVILEGES;
    

2. 修正ODBC数据源配置

  • 确保ODBC配置里的用户名仅填PBI,不要附加@localhost后缀,部分ODBC驱动会自动拼接主机名,导致用户身份匹配失败。
  • 尝试关闭SSL连接:在ODBC数据源的高级设置中添加SSL Mode=DISABLED参数(MySQL 8.0默认开启SSL,部分旧版ODBC驱动兼容性较差)。

3. 切换用户认证插件

MySQL 8.0默认使用caching_sha2_password认证插件,部分ODBC驱动对该插件支持不完善,可切换为兼容性更好的mysql_native_password:

ALTER USER 'PBI'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

4. 验证权限生效

重新配置ODBC连接后测试连接;如果问题仍存在,可开启MySQL的通用日志或错误日志,查看更详细的权限拒绝原因。

内容的提问来源于stack exchange,提问作者Ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:22:41