我正在尝试使用通过NuGet安装的MySQL Connector / NET 6.9.9将Golang / MySQL应用程序移植到C#/ MySQL应用程序。我的用于验证MySQL连接的测试应用程序非常简单:
string connStr = "server=192.168.5.3; protocol=tcp; pooling=false; uid=pdanuser; database=pdan; port=3306; pwd=<redacted>;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
Console.WriteLine("Connecting to MySQL...");
conn.Open();
string sql = "SELECT <redacted> FROM <redacted> limit 100";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr[0] + " -- " + rdr[1]);
}
rdr.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
conn.Close();
Console.WriteLine("Done.");
我收到以下错误:
Connecting to MySQL...
MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host '192.168.5.3' for user 'pdanuser' using method 'mysql_native_password' failed with message: Access denied for user 'pdanuser'@'ip-192-168-5-35.internal' (using password: YES) ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Access denied for user 'pdanuser'@'ip-192-168-5-35.internal' (using password: YES)
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex)
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset)
at MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset)
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlConnection.Open()
at MySqlTester1.Program.Main(String[] args) in C:\Dev\DotNet\MySqlTester1\MySqlTester1\Program.cs:line 15
Done.
我知道我没有网络或身份验证问题,因为Golang应用程序使用相同的用户名和密码在同一个MySQL数据库上成功运行。我已经搜索了这个错误并看到了有关卸载和重新安装MySQL Connnector的一些建议,但这些都没有对我有用。任何建议都会非常受欢迎。