2012-04-18 8 views
1

私はSequel Pro 0.9.9.1を実行しており、SSH接続のみを許可するサーバ上でホストされているリモートmySQL(v 14.14)データベースに接続できます。 Sequel Pro経由で接続するときは、問題なく接続するためにsshユーザーとパスワードを入力するだけです。この方法ですべてのデータベースにアクセスできます。RMySQLを介してsequel proデータベースのリモートサーバに接続

私はその後RMySQL(0.9から3)を使用して、R(2.14.0)でデータベースに接続しようとするが、このコマンドは失敗します。

conn <- dbConnect(MySQL(), user="ssh_user", password="ssh_password", host="localhost") 

エラーで:「RS-DBIドライバ:(エラー:単一引用符を使用するかどうかに関係なく(別の場所で提案されている)、ソケット '/tmp/mysql.sock'(2)を介してローカルMySQLサーバに接続できません。ユーザおよび/またはパスワードを"localhost"に "root"または ""を代入するか、 "127.0.0.1"を "localhost"に置き換えます。Rコマンドでサーバーホストをhostに置き換えた場合、サーバーにアクセスできないと言われますssh経由でアクセス可能)

このようにしてSequel Proからssh経由でアクセスするデータベースに接続するための正しいユーザ、パスワード、およびホストは何ですか?

答えて

2

私は決してこれをやったことはありませんが、ここで説明するようにSSHを使用して適切なポートをトンネリングできるとします。http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/。デフォルトで 3306は、MySQLのためになる

  1. トンネルSSH経由で適切なポート、:簡単に、あなたの希望に

  2. dbConnect()を使用して、ローカルマシン上にある場合は、 としてMySQLサーバーに接続します。

これはSequel Proの必要性を回避します。基本的に、ローカルマシンとサーバー間のポート22上のSSH接続を介してローカル3306ポート上のトラフィックをトンネリングし、サーバー上のローカルにポート3306に転送します。

+0

あなたが公開鍵/秘密鍵認証を使用する場合、特に素晴らしいソリューションです。 –

関連する問題