MySql.Data无法连接到AWS Aurora

时间:2020-02-15 07:47:39

标签: .net-core amazon-rds-aurora aws-aurora mysql.data aws-aurora-serverless

我在C#.net核心和AWS Aurora Serverless(MySql)之间有一个非常奇怪的连接问题。我有一个非常简单的Web API,用于测试。我的一个端点真的很容易获得一个表的第一行:

        string cnString = "myConnectionString";
        string returnData = "";

        using (MySqlConnection cnData = new MySqlConnection(cnString))
        {
            using (MySqlCommand cmdData = new MySqlCommand("SELECT userName FROM users LIMIT 1", cnData))
            {
                await cnData.OpenAsync();
                await cmdData.ExecuteScalarAsync();

                returnData = (string)cmdData.ExecuteScalar();
            }
        }

        return Ok(returnData);

我安装了MySql.Data NuGet软件包。部署程序包时,出现错误:无法连接到任何指定的MySQL主机。 (序列包含多个匹配元素)

如果我卸载MySql.Data程序包并安装MySqlConnector程序包,则没有错误,一切正常。代码或连接字符串没有更改。我唯一更改的是NuGet程序包。

我认为这无关紧要,但是我的应用程序已部署到Amazon Linux EC2实例。

有人知道为什么MySql.Data包不起作用吗?对于我的部署,我需要该软件包,并且不能使用MySqlConnector软件包。

1 个答案:

答案 0 :(得分:0)

如果其他任何人遇到相同的问题,则MySql.Data包中存在问题。

我怀疑它与这个已知的错误有关: MySql #97448

我的阅读方式是:Aurora群集使用多个IP地址,因此会抛出包含1个以上元素错误的Sequence。 (多个元素是TcpStream()中的IP地址。

我没有看到修复程序,但是我找到了一种解决方法,可以将软件包降级到8.0.16即可解决此问题。