0

SOに関するいくつかの関連する質問を見ましたが、どれも私を助けてくれませんでした。EC2のUbuntuマシンにMySQLデータベースをセットアップします。R内から、たとえば、を使用して接続しようとしています。

con <- dbConnect(MySQL(), username = user, dbname = db, host = host, password = password) 

ここで、ユーザー名とパスワードはリモートデータベースのものであり、ホストはec2アドレスです(ec2-54-456-161-6.us-west-2.compute.amazonaws.com[実際のアドレスではない]のようなもの)

これを行う方法について何か考えはありますか?

Ubuntuマシンにログインするには、データベースが私のマシンのシェルからインストールされています。キーpemファイルを使用する必要があります。認証するためにこのキーを提供する必要がありますか?もしそうなら、どのように?

4

2 に答える 2

0

同じマシン上にいる場合でも、MySQL インスタンスがネットワーク上でリッスンしていることを確認してください。で/etc/mysql/my.cnf、次のように変更します。

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1

これは多くの MySQL チュートリアルにあるはずであり、EC2 固有のものではありません。

サーバー自体から DB に接続できることを確認する必要があります。それが終わったら、リモートアクセスを試してください。ポートがブロックされてしまった場合は、ssh トンネルのルートを取得することもできます。これについては、多くのチュートリアルで説明されています。

于 2013-03-19T02:14:29.503 に答える
0

私の場合の問題は、セキュリティ グループに新しいルールを追加して、ポート 3306 でのリモート接続を許可する必要があることでした。追加されたルールのスクリーンショットを以下に示します (一番下の行)。

ここに画像の説明を入力

必要なのはそれだけでした。

于 2013-03-19T17:03:46.100 に答える