使用 ODBC 3.51 32 驱动程序的 MySQL 5.7 连接问题

使用 ODBC 3.51 32 驱动程序的 MySQL 5.7 连接问题

我遇到了一个非常奇怪的问题。我有以下配置:

  1. 运行 MySQL 5.7.25 社区版的 Ubuntu 主机
  2. 带有 ODBC 32 位驱动程序 3.51 的 Windows 10 客户虚拟机
  3. VM 的 SSL 隧道将端口 3306 从主机映射到客户机
  4. DBA 用户 'admin'@'localhost',具有所有权限
  5. DB 用户 'mydb_user'@'localhost',仅对 mydb 架构具有所有权限

我可以使用 mysql workbench 或命令行从客户虚拟机连接到 mydb,以管理员或 mydb_user 身份毫无问题。

但是,当我尝试使用 MySQL ODBC 3.51 驱动程序配置 DSN 时,只有管理员帐户连接成功。mydb_user 连接失败,并显示消息“拒绝用户‘mydb_user’@‘localhost’访问(使用密码:是)”。

当我检查 mysql 日志时,它还显示此用户的“访问被拒绝”。即使我向“mydb_user”添加 DBA 授权,也无济于事。似乎“admin”和“mydb_user”有些不同,但我不知道是什么。任何提示都将不胜感激。

更新。有趣的是,只有 32 位驱动程序才有此问题。当我尝试通过 MySQL ODBC 5.3 Unicode 驱动程序 64 位进行连接时,所有用户都可以毫无问题地进行连接。

答案1

问题似乎出在 ODBC 驱动程序版本上。版本 3.51 32 位不适用于 MySQL 5.7。更新到版本 MySQL ODBC 5.3 Unicode 驱动程序后,一切正常,没有问题。

相关内容