【发布时间】: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::dbConnectman page,它引用了dbname=(正确)和username=(不同)。我不使用 MySQL,所以我无能为力,但一般来说,“未知数据库”会建议您连接到 DBMS(耶!),甚至可能进行身份验证(再次耶!)但您假设存在数据库是不正确的。您的用户可能无法访问数据库,我不知道。 -
我认为您正在做某事-我收到错误 .local(drv, ...) 中的错误:无法连接到数据库:错误:用户 XXX'@' 的访问被拒绝localhost'(使用密码:NO),当我简单地运行 con
-
原来我没有数据库(插入facepalm emoji)。一旦我创建了一个并设置了适当的权限,它就像一个魅力。