Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET connector 8.0的MySQL身份验证错误_C#_Mysql Connector - Fatal编程技术网

C# .NET connector 8.0的MySQL身份验证错误

C# .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

当我在控制台应用程序(.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连接的MySQL

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代码的同一台机器连接到服务器吗?是的,它都是从同一台机器上运行的。你说的相同权限是什么意思?它是一个远程服务器,这些应用程序都是客户端应用程序,所以就远程服务器而言,它们是相同的。