C# 在C中使用SSL连接到MySQL#
我正在使用C# 在C中使用SSL连接到MySQL#,c#,mysql,ssl,C#,Mysql,Ssl,我正在使用MySqlConnection连接到需要SSL的MySQL服务器: var connection = new MySqlConnection("Data Source=127.0.0.1;Database=MyDb1;User Id=root;Password=blabla;encrypt=true"); 如果服务器不需要SSL,但在执行将**上的用法授予'root'@'localhost'需要SSL后,此操作将成功在服务器上,它开始出现故障,原因是: ProviderIncompa
MySqlConnection
连接到需要SSL的MySQL服务器:
var connection = new MySqlConnection("Data Source=127.0.0.1;Database=MyDb1;User Id=root;Password=blabla;encrypt=true");
如果服务器不需要SSL,但在执行将**上的用法授予'root'@'localhost'需要SSL后,此操作将成功代码>在服务器上,它开始出现故障,原因是:
ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串。-->MySql.Data.MySqlClient.MySqlException:使用方法“MySql\u native\u password”对用户“root”的主机“127.0.0.1”进行身份验证失败,消息为:拒绝访问用户“root”@“localhost”(使用密码:YES)--->MySql.Data.MySqlClient.MySqlException:拒绝访问用户“root”@“localhost”(使用密码:YES)
如何启用SSL?是应该向连接字符串中添加一些内容,还是通过编程方式完成的?好的,在进一步搜索之后,我在中找到了答案
我必须在连接字符串中添加SSL Mode=Required
而不是encrypt=true
:
var connection = new MySqlConnection("Data Source=127.0.0.1;Database=MyDb1;User Id=root;Password=blabla;SSL Mode=Required");
现在我得到了一个新错误-,但我想我会解决它的。var connection=new MySqlConnection(“数据源=127.0.0.1;数据库=MyDb1;用户Id=root;密码=blablabla;SSL模式=None”)
对我来说工作很好…对任何想找到这个问题答案的人来说,这不是问题的答案。正如您所看到的,问题是如何使用SSL,而不是如何禁用它。