【问题标题】:Connect to MySQL database with RMySQL unknown database使用 RMySQL 未知数据库连接到 MySQL 数据库
【发布时间】:2019-09-29 08:27:39
【问题描述】:

我正在尝试通过 RMySQL 连接到 MySQL 数据库,但出现以下错误

"Error in .local(drv, ...) : 
  Failed to connect to database: Error: Unknown database 'XXX'"

有没有人遇到过类似的问题并且能够解决?

跑步

  • macOS High Sierra,版本 10.13.6
  • MySQL 工作台 8.0
  • RStudio 版本 1.1.453

我构建的SQL驱动如下:

install.packages("RMySQL")
install.packages("dbConnect")
library(DBI)
library(dbConnect)

con <- dbConnect(RMySQL::MySQL(),
                 dbname = "xxx",
                 host = "xxx",
                 port = xxx, 
                 user = "xxx",
                 password = "xxx")

我一直在关注 Filip Schouwenaars 的数据营课程 Importing Data in R (https://www.datacamp.com/courses/importing-data-in-r-part-1),并希望建立与 SQL 数据库的连接并创建一个 MySQLConnection 对象,然后从 R 内部运行 SQL 查询。

问题是我一开始就因为连接数据库失败而卡住了。在 MySQLworkbench 中,脚本打开并且看起来很棒。我在这方面完全是新手,我想知道这是否与数据库文件本身的位置有关?我应该将其保存在特定文件夹中吗?

PS:我已经阅读了这里的所有 RMySQL 线程,但找不到解决方案;如果我错过了什么,请告诉我。这是我在这个论坛上的第一个问题,我非常感谢这里的社区,但也担心我在某个地方错过了一些东西。感谢您的帮助。

【问题讨论】:

  • “数据库文件的位置” 在 SQL DBMS 的上下文中没有意义。也就是说,如果 MySQL 安装在某个地方(本地或您的网络上),那么只要您可以访问运行服务器的主机,文件 的位置并不重要。
  • 谢谢你,r2evans。在这种情况下,“错误:未知数据库'XXX'”表示什么?即,您是否了解根本问题是什么?我安装了 MySQL 和工作台,并且可以在后者中打开 SQL 文件,但是当我尝试通过 R 连接到该文件时,它给了我特定的错误消息。
  • 奇怪,如果我查看source for RMySQL::dbConnect man page,它引用了dbname=(正确)和username=(不同)。我不使用 MySQL,所以我无能为力,但一般来说,“未知数据库”会建议您连接到 DBMS(耶!),甚至可能进行身份验证(再次耶!)但您假设存在数据库是不正确的。您的用户可能无法访问数据库,我不知道。
  • 我认为您正在做某事-我收到错误 .local(drv, ...) 中的错误:无法连接到数据库:错误:用户 XXX'@' 的访问被拒绝localhost'(使用密码:NO),当我简单地运行 con
  • 原来我没有数据库(插入facepalm emoji)。一旦我创建了一个并设置了适当的权限,它就像一个魅力。

标签: r rmysql


【解决方案1】:

解决方案:我实际上没有“数据库”(或模式,因为它们现在在 MySQL 中被称为),而只是一个 .sql 文件。一旦我从该文件创建了一个数据库,它就像一个魅力!

对于其他新手,尤其是人文学科的新手,这是一个关于如何使用 R 设置 MySQL 的非常有用的教程:https://programminghistorian.org/en/lessons/getting-started-with-mysql-using-r

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 2012-06-19
    • 2020-11-13
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多