【问题标题】:R and connecting to MySQL via JDBCR 并通过 JDBC 连接到 MySQL
【发布时间】:2013-10-11 12:03:21
【问题描述】:

我正在尝试通过 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 似乎有不同的问题,有任何 1 成功地从 R 中做到这一点吗?

【问题讨论】:

    标签: mysql r jdbc rjdbc


    【解决方案1】:

    要么您的 URL 不正确,要么您没有被授予从该 IP 地址连接的权限。

    默认 MySQL 端口是 3306。我假设您确定它已针对您的数据库进行了更改。

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

    您可以使用 mysqladmin 工具从该 IP 连接吗?否则,Java 也会有问题。

    我建议与数据库的所有者交谈,以确保您的 R 应用程序具有访问权限。

    【讨论】:

      【解决方案2】:

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

      如果这不起作用,我会验证与服务器的连接,请尝试从您使用 R 的机器上进行 telnet [IP] [PORT]。如果无法连接,则问题出在您的网络上设置。尝试检查防火墙规则和代理(如果有的话)。

      【讨论】:

        猜你喜欢
        • 2014-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-08
        • 2021-11-13
        • 1970-01-01
        相关资源
        最近更新 更多