【问题标题】:Connect to MySQL database with RMySQL使用 RMySQL 连接到 MySQL 数据库
【发布时间】:2011-07-22 20:43:29
【问题描述】:

我正在从RSQLite 移动到RMySQL,我对userpassword 字段感到困惑。 FWIW,我正在运行 Windows 7、R 2.12.2、MySQL 5.5(全 64 位)和 RMySQL 0.7-5。

我按照previous SO question 中的规定安装了RMySQL,据我所知它可以工作(即,我可以使用library(RMySQL) 加载包)。但是当我尝试从R data import guide 运行教程时,我收到“无法连接到数据库...”错误。这是指南中的教程代码:

library(RMySQL) # will load DBI as well
## open a connection to a MySQL database
con <- dbConnect(dbDriver("MySQL"), user = "root", password = "root", dbname = "pookas")
## list the tables in the database
dbListTables(con)
## load a data frame into the database, deleting any existing copy
data(USArrests)
dbWriteTable(con, "arrests", USArrests, overwrite = TRUE)
dbListTables(con)
## get the whole table
dbReadTable(con, "arrests")
## Select from the loaded table
dbGetQuery(con, paste("select row_names, Murder from arrests",
                      "where Rape > 30 order by Murder"))
dbRemoveTable(con, "arrests")
dbDisconnect(con)

在第二行我收到以下错误:

> con <- dbConnect(dbDriver("MySQL"), user = "richard", password = "root", dbname = "pookas")
Error in mysqlNewConnection(drv, ...) : 
  RS-DBI driver: (Failed to connect to database: Error: Access denied for user 'richard'@'localhost' (using password: NO)
)

我尝试过使用和不使用userpassword 以及管理员作为user。我也尝试过使用我之前在命令行中创建的dbname 和一个不存在的。

有什么建议吗?这里有很好的参考吗?谢谢!

【问题讨论】:

    标签: r rmysql


    【解决方案1】:

    这很可能是服务器端的设置问题。确保启用了网络访问。

    此外,使用命令行客户端的本地测试等同于通常使用套接字的测试。 mysql 服务器日志可能会有所帮助。

    【讨论】:

    • 我完成了所有设置,一切看起来都很好。我尝试了单引号 ' 而不是双引号 " 并且它起作用了!我一直认为这两者是可以互换的。感谢指点!
    【解决方案2】:

    首先尝试使用 MySQL Workbench 或命令行 mysql 使用相同的参数连接到 MySQL 服务器。如果它连接,那么 R 也应该能够连接。

    当 MySQL 服务器不允许来自远程计算机的连接时,通常会出现此问题。

    【讨论】:

    • 知道为什么我可以使用 MySQL Workbench 连接到远程数据库但不能连接到 R 吗?如果我禁用远程服务器上的防火墙,我可以与 R 连接,但是在防火墙启动的情况下,它不允许连接。我不明白为什么它的防火墙允许连接 MySQL 但不允许连接 R。
    【解决方案3】:

    正如人们告诉你的那样,你可以尝试使用其他应用程序作为 mysql 工作台连接到主机。多么奇怪!当我尝试在 RStudio 中使用您的代码连接到我的数据库时,我无法在命令中指明主机。

    我需要在命令中指明主机 (host = 'localhost')。

    【讨论】:

      猜你喜欢
      • 2019-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      相关资源
      最近更新 更多