我是使用Mac(OS X)与RStudio的R新手。
我成功使用续集专业版来查看这样的数据库。
我将dbConnect与RMySQL和DBI(下面的代码)与RStudio一起使用。
library(DBI)
library(RMySQL)
con <- dbConnect(RMySQL::MySQL(),
username = "username",
password = "password",
host = "hostname-xxx.ap-northeast-1.rds.amazonaws.com",
port = 3306,
dbname = "dbname"
)
但是我有以下错误。
Error in .local(drv, ...)
Failed to connect to database: Error: Access denied for user 'username'@'yyyyyyyyyyymarunouchi.tokyo.ocn.ne.jp' (using password: YES)
所以使用终端这样的ssh隧道。
ssh -f sshuser@xx.xxx.xx.xx -i ~/.ssh/ssh_key -L 3306:hostname-xxx.ap-northeast-1.rds.amazonaws.com:3306 -N
并成功登录。
之后,为了确认,执行下面的命令(在终端中)但在输入正确的密码后失败。
mysql -h 127.0.0.1 -p -u username dbname
错误代码
ERROR 1044 (42000): Access denied for user 'username'@'localhost' to database 'dbname'
(其他具有相同用户名的机器成功登录。我不知道为什么......)
和dbConnect(带有RStudio的RMySQL)显示相同的错误。
任何相同的情况?请告诉我该怎么做。
谢谢。
答案 0 :(得分:0)
这只是数据库凭据的问题。您需要在DBMS中设置一个用户,该用户有权访问您登录的数据库,然后使用该帐户+密码登录。这可能与您用于登录服务器的帐户不同。
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
如果这给您带来任何麻烦,那么不要一次授予ALL PRIVILEGES
每个权限。这种情况很少发生,尤其是对于像Hive这样的其他数据库。