关于C#连接到EC2的问题

时间:2012-05-27 17:29:22

标签: c# mysql amazon-ec2

我目前正在使用Amazon EC2(AMI linux)+ MySQL,现在我正在研究C#的东西。

我写了这样的代码:

        MySqlConnection DBConn = new MySqlConnection();
        DBConn.ConnectionString = "Server=ec2-**.compute-1.amazonaws.com;Database=****;uid=root;password=****;port=3306;charset=utf8";

        try
        {
            DBConn.Open();
        }
        catch (Exception ex)
        {
            MessageBox.Show("connecting fail");
        }

但出于某种原因,当我运行它时,会产生“连接失败”错误。

我用谷歌搜索并想出我需要设置“授予所有权限*。*到root @'localhost'”

所以,我做到了!

但它仍然无效。我想我已经遵循了所有步骤。

  • 我正在研究Visual Studio 2008& Windows7目前。

  • 我检查了错误,似乎是超时错误。我认为这是一个防火墙的事情,但不知道我应该做什么。我设置了我的安全组,以便向所有人打开TCP端口(包括Mysql)。它仍然无法正常工作。这不是解决这个问题的方法吗?;( 但是,我很好奇的是,在设置安全组之前,我可以使用MySQL工作台访问数据库。

很抱歉,我对EC2完全不熟悉。

2 个答案:

答案 0 :(得分:0)

1)您应该通过aws控制台打开服务器上的MySQL端口。您可以通过单击转到RDS上的数据库安全组部分来执行此操作,只需将CIDR:0.0.0.0/0置于测试您已连接且状态已获得授权。然后,您可以重新排列规则以指定哪个IP可以连接  2)您应该使用MySQL连接器从C#连接MySQL Mysql Connector Link
 3)你的连接字符串应该是:

Server=yourdburl;
Database=yourdb; 
Uid=yourdbuser; 
Pwd=yourdbuserpassword;
charSet=utf8;

第3个似乎是对的,你应该检查第1和第2个案例。

答案 1 :(得分:0)

您应该打开该ENI上的Redshift Docs以查看该接口上是否接受了连接,或者拒绝了该连接。像甘迪尔所提到的那样,你的安全小组很可能不正确。