我正在尝试通过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做过这个?
答案 0 :(得分:0)
您的网址不正确,或者您没有获得从该IP地址连接的GRANTed权限。
默认的MySQL端口是3306.我假设您确定它已经为您的数据库更改了。
您的机器和该数据库之间是否有防火墙?如果是,是否有允许您的IP通过该端口的规则?如果没有,您需要添加一个。
您可以使用mysqladmin工具从该IP连接吗?如果没有,Java也会遇到问题。
我建议您与数据库的所有者通话,以确保您的R应用程序可以访问。
答案 1 :(得分:0)
msDriver部分看起来不错,但我不确定您传递给dbConnect的uid和pwd选项,我将其更改为用户和密码。
如果这不起作用我验证了与服务器的连接,请尝试使用您使用R的机器上的telnet [IP] [PORT]。如果它没有然后连接问题是您的网络设置。尝试检查防火墙规则和代理,如果有的话。