ローカルPHPスクリプトがリモートサーバーのMySQLサーバーに接続できるようにSSHトンネルを設定する必要があります。
Remote machine: MySQL (127.0.0.1:3306) on Linux (SSH port 44422)
Local machine: Linux (Debian Squeeze)
問題は、次のコマンドを使用して接続できないことです。
ssh -oPort=44422 user@ip_address
PHPスクリプトがリモートMySQLに接続できるようにSSHトンネルをどのように設定しますか?
(PHPスクリプトを介したSSHトンネルなどの他の接続方法がより良いと思われる場合は、お知らせください。)
よろしくお願いします!
編集:SSHには別のユーザー名/パスワードがあり、MySQLには別のユーザー名/パスワードがあることに言及するのを忘れました。
答え1
あなたの質問に正確に答えることはありませんが(h3rrmillerはすでに良い答えを提供しています)、反対することをお勧めします。 SSH接続が中断されると、すべてのmysql接続が失われ、新しいSSH接続を確立したときにのみリセットできます。
mysqlトラフィックを暗号化するためにこれを行う場合:mysqlはSSL接続もサポートしているので、これはより良いオプションです。
答え2
これを行うには、順方向SSHトンネルを作成する必要があります。
ssh user@ip -p 44422 -L3306:127.0.0.1:3306
次に、mysqlクエリを127.0.0.1:3306と指定します。
または、リモートホストとのSSHセッションがすでにある場合は、~C
SSHシェルを開いて入力して-L3306:127.0.0.1:3306
Enterキーを押してセッションにトンネルを追加できます。
すべてのmysql接続はSSHセッションを維持する必要があるため、SSLなどのより継続的なソリューションを見てみましょう。