2012-02-02 25 views
3

Sequel Proでデータベースに接続することはできますが、コマンドラインではできません。Sequel Pro経由でDBに接続できますが、コマンドラインでは使用できません

ssh -L 1234:mysqlhost:3306 [email protected] 

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

をとパスワードの入力を求められたときに、私はからいずれかを使用します。私はプロ続編で接続ウィンドウとSSH]タブで次のように置き換え、そのコマンドで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

を:私はここでその指示に従ってきました"SSHパスワード"

Sequel Proが舞台裏でやっていることがどういうものか分かりません。

+0

だから、あなたはそのコマンドを実行して、何が起こったのか、何をやっていますか?そのSSHコマンドでトンネルを設定するだけです。 –

答えて

7

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

  1. トンネルを作成する:

    実際のプロセスは、2つのステップです。私はちょうどあなたがだけは、トンネルを設定し、あなたがsshhost上でシェルを起動する必要はありませんよsshを伝え追加

    ssh -N -L 1234:mysqlhost:3306 [email protected] 
    

    -N。このコマンドを実行すると、何もしないように見えます。そのように見えるはずです。

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

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

    コマンドラインクライアントmysqlを実行する必要があります。

    mysql -P 1234 -u mysqluser -p 
    

    てデータベースに接続するには:あなたがするための最も簡単な方法は、新しいターミナルウィンドウまたはタブを開き、実行しているので、あなただけ走ったsshコマンドは、まだ、実行されています。 -P 1234の部分は、このコマンドの唯一の普通の部分です。トンネルを行うために、最初のコマンドで設定したポートを使用してmysqlクライアントを接続するだけです。あなたがトンネルで行われ、いずれかのオリジナルのターミナルウィンドウを閉じたりsshプロセスを停止するはCtrl-Cを使用している

+0

これはどのようにしてbashスクリプトでサーバー上にデータベースを作成するために使用できますか?私の質問をここでチェックすると素晴らしいと思います:http://stackoverflow.com/questions/12905077/create-mysql-database-through-ssh-in-a-bash-script – Spoeken

+2

これは私にとってはほとんど正確には機能しましたが、ステップ2私は、ホストが 'mysql -u user -h 127.0.0.1 -p'のように127.0.0.1でなければならないと指定しなければいけません。 – jkeesh

関連する問題