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

使用MySQL Connector 6.9.11连接Linux数据库时SSPI调用失败求助

解决MySQL Connector 6.9.11连接Linux MySQL时的SSPI失败问题

核心原因

该错误是因为MySQL Connector尝试使用Windows SSPI(安全支持提供程序接口)进行身份验证,但Linux上的MySQL不支持Windows身份验证机制,或是Connector在未明确指定认证方式时自动触发了SSPI路径。

解决方案

1. 连接字符串强制指定认证方式

在连接字符串中添加AuthenticationMethod=mysql_native_password;,强制Connector使用MySQL原生密码认证,避免触发SSPI逻辑。修改后的代码:

connStr = String.Format("server={0};user id={1}; password={2};AuthenticationMethod=mysql_native_password;", "www.mysite.com", UN, PW)
Conn = New MySqlConnection(connStr)
Conn.Open()

2. 验证MySQL用户的认证插件

登录Linux服务器的MySQL,检查目标用户使用的认证插件是否为mysql_native_password:

SELECT user, plugin FROM mysql.user WHERE user='你的用户名';

如果插件不是mysql_native_password,执行以下命令修改:

ALTER USER '你的用户名'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

(注意将%替换为实际允许的客户端IP范围,如192.168.1.%,若允许所有IP则保留%)

3. 升级MySQL Connector版本

Connector 6.9.11是较老版本,存在与MySQL 5.7系列的兼容性问题。建议升级到Connector/NET 6.10.12(该版本兼容.NET 4.0和VS2010),新版本修复了多个认证相关bug。

4. 排查本地Windows系统问题

  • 重启本地开发机器,重置LSA(本地安全机构)服务状态
  • 检查Windows服务中Local Security Authority (LsaSrv)是否正常运行,未运行则手动启动
  • 确保本地系统时间与Linux服务器时间同步,时间偏差过大可能导致认证校验失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:22:19