2016-07-08 16 views
1

Mac OS Xを使用しているRStudioで初心者です。RStudioでRMySQLを使用するためのSSHトンネル

このようにDBを見るためには、後編Proをうまく使用できます。私はRStudioと(コードの下)RMySQL及びDBIとdbConnectの使用

enter image description here

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 [email protected] -i ~/.ssh/ssh_key -L 3306:hostname-xxx.ap-northeast-1.rds.amazonaws.com:3306 -N 

となり、正常にログインします。

その後、確認のため、以下のコマンド(端末)で実行されますが、正しいパスワードを入力してから失敗しました。エラーコード

ERROR 1044 (42000): Access denied for user 'username'@'localhost' to database 'dbname' 

(同じユーザー名を持つ他のマシンが正常にログインします。私は理由を知りませんでした...)

とdbConnectの(RStudioとRMySQL)が同じ見せているとの

mysql -h 127.0.0.1 -p -u username dbname 

上記のエラー。

誰でも同じ状況ですか?何をすべきか教えてください。

ありがとうございます。

答えて

0

これはデータベース資格情報の問題です。 DBMSにログインしているDBにアクセスする権限を持つユーザを設定し、そのアカウント+パスワードを使用してログインする必要があります。これは、サーバーにログインするために使用するアカウントと同じではない場合があります。

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; 
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; 
FLUSH PRIVILEGES; 

これは一度ALL PRIVILEGES助成金各権限1を付与するのではなく、その後、あなたにトラブルを与えた場合。これはまれですが、特にHiveのような他のDBの場合に起こります。

+0

データベース資格の問題の場合は、「ユーザー名」アカウントの設定がDBは間違っているはずなので、 'mysql -h 127.0 ...'コマンドはすべての端末に対して正常に実行されないか、すべての端末で失敗するでしょうか? '' '同じユーザ名を持つ他のマシンは正常にログインします。私は理由を知りませんでした。 '' ' –

+0

' sql -h 127.0.0.1 -p password -u username dbname 'は上記のエラーで消え、mysqlコマンドは端末で正常に実行されます。しかし、RStudioのdbConnectはエラーが発生します: '.local(drv、...)のエラー: データベースへの接続に失敗しました:エラー: 'hostname-xxx.ap-northeast-1.rds'のMySQLサーバーに接続できません。 amazonaws.com '(60) ' –

関連する問題