1

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

次に、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サーバーに接続できません」一重引用符を使用するかどうかに関係なく(推奨)他の場所)、ユーザーやパスワードを「root」または「」に変更するか、「localhost」を「127.0.0.1」に置き換えます。Rコマンドでホストをサーバーホストに置き換えると、アクセスできないと言われます。サーバー(これは本当です。ssh経由でのみアクセスするように構成されています)。

この方法でSequelProを介してssh経由でアクセスされるデータベースに接続するために使用する正しいユーザー、パスワード、およびホストは何ですか?

4

1 に答える 1

2

私はこれを行ったことはありませんが、ここで説明されているように、SSH を使用して適切なポートをトンネリングできると思います: http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over- ssh/ .

簡単に言えば、次のことを行います。

  1. SSH を介して適切なポートをトンネリングします。デフォルトでは、MySQL の場合は 3306 です。
  2. dbConnect()ローカル マシン上にあるかのように MySQL サーバーに接続するために使用します。

これにより、Sequel Pro が不要になります。トンネルは基本的に、ローカル 3306 ポート上のトラフィックを、ローカル マシンとサーバー間のポート 22 上の SSH 接続を介してトンネリングし、サーバー上のポート 3306 にローカルに転送できるようにします。

于 2012-04-18T20:36:04.707 に答える