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[不是真实的])

关于如何做到这一点的任何想法?

要从我机器上的 shell 登录到 Ubuntu 机器,我必须使用密钥 pem 文件。是否必须提供此密钥才能进行身份验证?如果是这样,怎么做?

4

2 回答 2

0

我的问题是我只需要向安全组添加一个新规则以允许端口 3306 上的远程连接。请参见下面添加的规则的屏幕截图(底线)

在此处输入图像描述

这就是我们所需要的。

于 2013-03-19T17:03:46.100 回答
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。

您要确保可以从服务器本身连接到数据库。一旦处理好,请尝试远程访问。如果端口最终被阻塞,您还可以获得 ssh 隧道的路由——这在许多教程中都有描述。

于 2013-03-19T02:14:29.503 回答