R并通过JDBC连接到MySQL

时间:2013-10-11 12:03:21

标签: mysql r jdbc rjdbc

我正在尝试通过R连接到远程计算机上的MySql数据库,我尝试过RODBC并且它失败了,我尝试了RJDBC并且它失败了:

library(RJDBC)
msDriver <- JDBC(driverClass="com.mysql.jdbc.Driver", classPath=".../mysql-connector-java-5.1.13-bin.jar")
msCon <- dbConnect(msDriver, "jdbc:mysql://[IP]:5433/[SchemaName]",uid="johnDoe",pwd="word")

我得到的信息是:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

我能够连接到其他数据库,但MySQL似乎有不同的问题,有没有成功从R做过这个?

2 个答案:

答案 0 :(得分:0)

您的网址不正确,或者您没有获得从该IP地址连接的GRANTed权限。

默认的MySQL端口是3306.我假设您确定它已经为您的数据库更改了。

您的机器和该数据库之间是否有防火墙?如果是,是否有允许您的IP通过该端口的规则?如果没有,您需要添加一个。

您可以使用mysqladmin工具从该IP连接吗?如果没有,Java也会遇到问题。

我建议您与数据库的所有者通话,以确保您的R应用程序可以访问。

答案 1 :(得分:0)

msDriver部分看起来不错,但我不确定您传递给dbConnect的uid和pwd选项,我将其更改为用户和密码。

如果这不起作用我验证了与服务器的连接,请尝试使用您使用R的机器上的telnet [IP] [PORT]。如果它没有然后连接问题是您的网络设置。尝试检查防火墙规则和代理,如果有的话。