unity链接MySQL报错,但项目却可以正常启动

报错信息如图:

img


mysqlexception:client does not authentication protocol requested by server;consider upgrading Mysql client

根据报错信息,看起来是MySQL客户端不支持MySQL服务器请求的身份验证协议,建议考虑升级MySQL客户端版本或使用支持请求的身份验证协议的MySQL客户端。

MySQL服务器支持多种身份验证协议,其中包括旧版协议和新版协议。新版协议在安全性方面更加强大,但需要使用支持该协议的MySQL客户端才能进行连接。

如果您正在使用旧版MySQL客户端,可以尝试升级到最新版本的MySQL客户端,并使用支持新版协议的驱动程序进行连接。如果您正在使用最新版本的MySQL客户端,可以检查MySQL服务器的配置,确保MySQL服务器已配置为使用新版协议进行身份验证。

此外,还可以尝试在连接字符串中指定使用新版协议进行身份验证。可以将"AllowPublicKeyRetrieval=True"和"AuthenticationPlugins=authentication_windows_client"添加到连接字符串中,以指定使用新版协议进行身份验证。示例如下:

string connectionString = "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;AllowPublicKeyRetrieval=True;AuthenticationPlugins=authentication_windows_client;";
如果上述解决方案均无法解决问题,请尝试在Unity中输出更详细的错误信息,以便更好地定位问题。可以使用try-catch语句捕获异常,并在catch块中输出详细的错误信息。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^