|
C# socket 连接mysql报错Unhandled exception. System.Security.Authentication.Authentication
Mysql连接失败
在项目中,使用Mysql Client连接Mysql时出现了错误,打印错误信息
System.Security.Authentication.AuthenticationException: 调用 SSPI 失败,请参见内部异常。 ---> System.ComponentModel.Win32Exception: 接收到的消息异常,或格式不正确。
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.Security.SslState
可以观察到大致问题是与SSL有关的。
猜想
Mysql版本与Mysql Client支持的版本不一致,主要是Mysql5 与Mysql 8版本之间的差异问题。
Mysql开启了SSL选项
解决方案
可以将Mysql的SSL选项关闭。
MySQL关闭SSL的方法
1、查看是否开启SSL:
SHOW VARIABLES LIKE '%ssl%';
看到have_ssl的值为YES,表示已开启SSL。(have_openssl表示是否支持SSL)
2、修改配置文件my.cnf,加入以下内容:
# disable_ssl
skip_ssl
3、重启MySQL:
service mysqld restart
4、再查看SSL的开启状态:
看到have_ssl的值为DISABLED,表示已关闭SSL。
完毕。
|