12

現在、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 をまったく初めて使用します。

4

2 に答える 2

0

1) aws コンソールを介してサーバーの MySQL ポートを開く必要があります。RDSセクションのDBセキュリティグループをクリックしてクリックし、 CIDR:0.0.0.0/0 を入力して、接続されていることとステータスが承認されていることをテストします。次に、ルールを再配置して、接続できる IP を指定できます。
2) C# から MySQL に接続するには、MySQL コネクタを使用する必要があります。
Mysql コネクタ リンク
3) 接続文字列は次のようになります。

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

3 番目のケースが正しいようです。1 番目と 2 番目のケースを確認する必要があります。

于 2012-06-21T00:17:04.910 に答える
0

その ENI でVPC フロー ログをオンにして、接続がそのインターフェイスで受け入れられているか拒否されているかを確認する必要があります。gandil が述べたように、セキュリティ グループが正しくない可能性が高いです。

于 2017-11-13T20:15:34.387 に答える