C# .NET connector 8.0的MySQL身份验证错误
当我在控制台应用程序(.NET 4.7.2)中使用.NET连接器连接到远程MySQL服务器时,会出现以下错误 MySql.Data.MySqlClient.MySqlException(0x80004005):使用方法“MySql_native_password”对用户“yyyyyyyyy”的主机“XX.XXX.XXX.XX”的身份验证失败,消息为:用户“yyyyyyyyyyyyyy”@“ZZZ.ZZZ.ZZZ.ZZZ”的访问被拒绝(使用密码:是)--->MySql.Data.MySqlClient.MySqlException(0x80004005):用户'yyyyyyyy'@'ZZZ.ZZZ.ZZZ.ZZZ'的访问被拒绝(使用密码:是) 我认为这与密码有关,并将其重置,但它仍然不起作用,已经能够使用“HeidiSQL”和“MYSQL Workbench”成功连接到它,因此服务器端的password perse似乎没有任何问题 请注意,如下面的示例代码所示,我使用的是带有SSL连接的MySQLC# .NET connector 8.0的MySQL身份验证错误,c#,mysql-connector,C#,Mysql Connector,当我在控制台应用程序(.NET 4.7.2)中使用.NET连接器连接到远程MySQL服务器时,会出现以下错误 MySql.Data.MySqlClient.MySqlException(0x80004005):使用方法“MySql_native_password”对用户“yyyyyyyyy”的主机“XX.XXX.XXX.XX”的身份验证失败,消息为:用户“yyyyyyyyyyyyyy”@“ZZZ.ZZZ.ZZZ.ZZZ”的访问被拒绝(使用密码:是)--->MySql.Data.MySqlClie
var builder = new MySqlConnectionStringBuilder();
builder.Server = "XX.XXX.XXX.XX";
builder.UserID = "YYYYYYY";
builder.Password = "PPPPPPPPPPP";
builder.SslCa = @"D:\certs\server-ca.pem";
builder.SslKey = @"D:\certs\client-key.pem";
builder.SslCert = @"D:\certs\client-cert.pem";
builder.SslMode = MySqlSslMode.VerifyFull;
builder.Database = "noodlewatch";
builder.Port = 3306;
builder.Pooling = true;
builder.UseCompression = true;
MySqlConnection conn = new MySqlConnection(builder.ConnectionString);
有什么想法需要在这里做吗
我已经尝试了很多与“MySqlConnectionStringBuilder”的排列和组合,但它总是以相同的方式结束。这绝对不是一个“密码”问题,因为我可以用标准的MySQL客户端连接到它
编辑:
这不是另一个问题的重复,有一个类似的错误,因为其中一个问题与用户授权有关,我能够从同一台客户机通过“HeidiSQL”和“MySQL Workbench”连接到同一个远程服务器,因此这显然与用户的权限问题无关
编辑:
这个。NET应用程序和其他客户端应用程序驻留在同一台Windows 10计算机上 这不是这个问题的重复,因为如果你看一下公认的答案,他们说的是MySQL上的用户权限,在我的例子中,我可以使用相同的凭据但不同的软件访问远程服务器。但是这个程序有相同的权限吗?我想,不久前,MySQL还拥有程序的权限,所以如果你登录,你可以做一些事情,但是如果你使用另一个应用程序登录,该应用程序没有授权权限。你使用运行c代码的同一台机器连接到服务器吗?是的,它都是从同一台机器上运行的。你说的相同权限是什么意思?它是一个远程服务器,这些应用程序都是客户端应用程序,所以就远程服务器而言,它们是相同的。