当我在控制台应用程序(.NET 4.7.2)中使用.NET连接器连接到远程MySQL服务器时,出现以下错误。
MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host 'XX.XXX.XXX.XX' for user 'YYYYYYY' using method 'mysql_native_password' failed with message: Access denied for user 'YYYYYYY'@'ZZZ.ZZZ.ZZZ.ZZZ' (using password: YES) ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Access denied for user 'YYYYYYY'@'ZZZ.ZZZ.ZZZ.ZZZ' (using password: YES)
我以为它与密码有关并进行了重置,但仍然无法正常工作,已经能够使用“ HeidiSQL”和“ MYSQL Workbench”成功连接到它,因此似乎没有任何问题在服务器端使用密码perse。
请注意,我将MySQL与SSL连接配合使用,如下面的示例代码所示。
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计算机上。
您指的是相同的权利?它是一台远程服务器,这些应用程序是客户端应用程序,因此就远程服务器而言,它们是相同的。