2013-03-19 140 views
0

我已经看到了一些关于SO的相关问题,但没有人帮助过我。我在EC2的Ubuntu机器上安装了一个MySQL数据库。我试图从R内与它连接,使用e..g,连接到ec2上的远程MySQL数据库Ubuntu机器

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

,其中用户名和密码的远程数据库,主机是EC2地址(类似ec2-54-456-161-6.us-west-2.compute.amazonaws.com [不是真正的]]

任何想法如何做到这一点?

要登录到Ubuntu机器数据库从我的机器上的shell安装我必须使用密钥pem文件。这个密钥是否必须提供认证?如果是这样,怎么样?

+0

我不想编辑它,如果它是正确的,但是......应该是Ubuntu,而不是Unbuntu--正确吗? – Dason 2013-03-19 17:07:41

+0

完成........... – sckott 2013-03-19 17:13:56

回答

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隧道的路由 - 这在很多教程中都有描述。

+0

谢谢,看着那。 – sckott 2013-03-19 02:26:32

+0

对不起,不得不睡一会儿。这是ec2实例的问题,必须添加到安全组才能允许传入连接。 – sckott 2013-03-19 17:01:03

0

在我的情况的问题是,我只是需要一个新的规则添加到安全组以允许端口3306的远程连接,请参见如下的添加规则的截图(底线)

enter image description here

这就是所有需要的。

+0

很高兴认识你。而啊,港口8787,东西让我想我知道什么应用程序使用:) – 2013-03-19 17:05:45

+0

哈,的确,我喜欢使用该端口 – sckott 2013-03-19 17:15:09