c#通过MySQLDriverCS链接mysql奇怪的错误!

嘿,上周有客户问我,说他们的系统由于数据库连接问题而不断关闭。
我看着它,说,嘿,这不是我以前掉过的陷阱吗? 2 02 3 年,我在上海某购物中心的一个项目中也遇到了类似的情况。

当时我们开发了一个管理系统,但是上线没几天,系统就频繁崩溃。
经过排查,发现是数据库连接处理不当。
那时候写代码图很容易。
连接到数据库后,我们就将其留在那里。
导致系统繁忙时,连接数爆炸,系统卡住。

然后,我们好好学习。
每次连接数据库后,无论是否使用,都会及时关闭。
这样,系统的运行更加稳定。
我给客户的建议是一样的,说他们应该在代码中添加关闭连接的逻辑,以免保持繁忙的连接。

不管怎样,你需要考虑一下,及时关闭数据库连接。
这点必须注意。
我还在思考这个问题,开发者如何才能养成这个好习惯呢?毕竟代码是为你自己和系统编写的。

win7 系统c#调用接口报错authenticationexceptio调用sspi失败请参见内部异常

坦率地说,如果您收到错误“AuthenticationException:SSPI 调用失败。
请参阅内部异常”,这实际上可能是由于您的 SSL 证书存在问题或加密算法不匹配。
我们先来说说最重要的事情。
如果要在Win7 系统上使用C连接MySQL数据库,首先要检查是否安装了SSL证书。
我去年跑的一个项目中,数据库没有SSL证书,所以一连接就直接崩溃​​了。

还有一点是,加密算法不匹配也是一个常见问题。
例如,去年我们有一个客户无法建立连接,因为我们的客户不支持 MySQL8 数据库的默认验证插件。

一开始我以为只是SSL证书的问题,后来发现我错了。
也可能存在算法不匹配的情况。
另一种可能是,该错误也可能是由于Windows注册表中的相关设置不正确导致的。

有几种解决方案。
首先,将 SslMode=none 添加到连接字符串中,以便您可以忽略 SSL 证书问题。
例如,您可以将连接字符串更改为:server=1 2 7 .0.0.1 ;UserId=root;password=1 2 3 4 5 6 ;Database=studentdb;SslMode=none;Charset=utf8
如果您正在使用MySQL8 并想继续使用SSL,您可以更改MySQL的默认身份验证插件,例如将其设置为mysql_native_password。

最后,如果客户端和服务器加密算法不匹配,则可能需要修改Windows注册表。
但请注意,此操作有危险,应谨慎操作。
最好先备份注册表并了解如何恢复它。

我认为值得从更改连接字符串开始。
如果这不起作用,请考虑更改 MySQL 配置或注册表。
但是,如果您对操作系统没有信心,最好寻求专业帮助,因为很多人不注意这一点。