3

Sequel Proを使用してデータベースに接続できますが、コマンドラインから接続できません。私はここで彼らの指示に従いました:http ://www.sequelpro.com/docs/Connecting_to_a_MySQL_Server_on_a_Remote_Host#Do_I_need_to_use_the_Terminal_for_SSH_connections.3F

彼らのコマンドでは、SequelProの接続ウィンドウとSSHタブから次のように置き換えます。

ssh -L 1234:mysqlhost:3306 sshuser@sshhost

mysqlhost => MySQL Host
sshuser => SSH User
sshhost => SSH Host

そして、パスワードの入力を求められたら、「SSHパスワード」からのものを使用します

SequelProが舞台裏で何をしているのかわかりません。

4

1 に答える 1

9

Sequel Proのドキュメントからのその指示は、完全な話ではありません。トンネルの設定方法を説明しているだけです。MySQLサーバーに接続するために実際に使用するには、2番目のステップが必要です。

実際のプロセスは2つのステップです。

  1. トンネルを作成します。

    ssh -N -L 1234:mysqlhost:3306 sshuser@sshhost
    

    -N私が追加したのは、トンネルを設定しsshているだけで、でシェルを開始したくないということですsshhost。このコマンドを実行すると、何も実行されないように見えます。そのように表示されます。

    コマンドが実行されている限り、ローカルマシンのポート1234への接続は、のポート3306(MySQLポート)にsshトンネリングされます。sshhostmysqlhost

  2. トンネルを使用してMySQLに接続します。

    mysqlここで、コマンドラインクライアントを実行する必要があります。実行したsshコマンドはまだ実行されているため、新しいターミナルウィンドウまたはタブを開いて、次のコマンドを実行するのが最も簡単です。

    mysql -P 1234 -u mysqluser -p
    

    データベースに接続します。この-P 1234部分は、このコマンドの唯一の異常な部分でmysqlあり、トンネリングを実行するために最初のコマンドで設定したポートを使用してクライアントを接続させるだけです。

トンネルが終了したら、元のターミナルウィンドウを閉じるか、を使用してプロセスCtrl-Cを停止しsshます。

于 2012-02-04T04:13:32.197 に答える