カスタマーサービス部門が引用を行うために使用する内部MySQLデータベースと、顧客が引用を行うために使用する外部MySQLデータベースがあります。私は内部データベースからの情報を私に書いたPHPレポートを持っています。今私は外部データベースからのデータを含むようにレポートを変更したいと思います。 SSH接続を使用して外部データベースに接続する必要があります。私はcURLまたはSSH2を使って調べてきましたが、どちらかがこれを行う正しい方法であるかどうかはわかりません。以前にウェブサーバにSSH MySQLデータベースを問い合わせた人がいましたか、誰かがこの仕事をするために何をする必要があるかを知っていますか?何か助けてくれてありがとう!SSHを使用してリモートWebサーバー上のMySQLデータベースを照会
答えて
私は実際には「Sequel Pro」と呼ばれるMySQL GUIクライアントを使用します。これはSSH接続を介してMySQLに接続するオプションを提供します。これは完全に実行可能ですが、DBなしでDBに接続するオプションがある場合(ホストの外部から接続するなど)、この方法をお勧めします。
SSHでDBをクエリするのが最も簡単な方法は、SSHポートフォワーディングを使用することです。つまり、ssh [email protected] -L3306:localhost:3306
を実行するプロセスを生成し、MySQLコネクタをローカルホストに接続させることです。
SSHへの引数は、ローカルポート転送を行うように指示します。したがって、SSHはローカルポートでリッスンし、そこから受信したパケットを指定されたリモートホスト/ポートに直接転送します。明らかに私の例では両端でポート3306を使用していますが、これを適切に変更することができます(RTMでこれ以上のことがあります)
+1、私にそれを打つ –
私はウェブサーバー上でそのプロセスを生成するでしょうか?私たちのウェブサイトはホストされており、プロバイダーはこのようなことを行う際に最も役立つものではありません。これを有効にするにはこれが唯一の方法ですか、別の方法ですか? Navicatを使用してデータベースにリモートログインできることを述べる必要があります...私はPHPコード内から行う方法を探しています。ありがとう! – kheugel
@kheugelはい、SSHはサーバー側です。 Navicatをどうやってやっていますか?あなたのためにSSHチューニングをしていますか?'ssh'を起動することができない場合や、PHPの中から' OpenSSH' APIを使用しない場合は、不運になります。データを他の方法で取得する必要があります。 – Romain
はい、SSHでbashからmysqlに問い合わせることができます。最善のソリューションは、運用サーバー上にREST Webサービスを作成することです。次に、内部システムは、そのリモートサービスに認証を照会します。
これを行う方法はありますか? –
多分、これをやっている無限の数があります、古いと新しい方法で、しかし、私はこれを持って簡単な何かのための高速なGoogleをやった:http://robertobartolome.com/a-単純な - ウェブサービス - 使用 - php-json-and-mysql/https://github.com/memaker/webservice-php-jsonというコードは、あなたの仕事を始めるための単なる例に過ぎません。 –
あなたは、ローカルサーバー上のいくつかの利用可能なポートからリモートサーバ上のMySQLポートにトンネルを設定:
ssh -L 3307:localhost:3306 [email protected]
ポートに接続し、ローカルシステム上のポート3307でリッスンしてトンネルを作成します3306(MySQL)をリモートサーバ上に作成します。
PHPコードで3306の代わりにポート3307に接続すると、remoteserverのmysqlにトンネリングされます。
- 1. SSHを使用してPHPを使用してリモートMySQLデータベースに接続
- 2. mysqlデータベースを照会するJavaサーバー
- 3. Pythonを使用してリモートSSHサーバー上にファイルの存在を確認する
- 4. MacでSSHとリモートWebサーバーを使用する方法
- 5. extjsのmysqlデータベースを照会
- 6. VBA:サーバー上でExcelを使用したアクセスを照会
- 7. MYSQLデータベースにラジオボタンを照会
- 8. リモートWebサーバー上でJavaを介してアンドロイドアプリケーションのデータベースを作成する方法
- 9. linqを使用してデータベースを照会するためのWebインターフェイスフォーム
- 10. CronとCodeigniter/PHPを使用してMySQLデータベースを照会するには?
- 11. VB.NETを使用してNTPサーバーを照会する
- 12. ssh(リモートLinux接続)を使用したJava Webサービス
- 13. JPAからMySQLデータベースを照会する
- 14. 外部MySQLデータベースを照会するAndroid
- 15. JDBCを使用してUTF-8データベースを照会する方法
- 16. 地理的エリア/ポイントを使用してデータベースを照会する
- 17. "、"セパレータを使用してSQLデータベースからデータを照会
- 18. nHibernateを使用して異なるアプリケーションからデータベースを照会
- 19. Webフォームを使用してリモートSQL Serverデータベースにアクセス
- 20. peeweeを使用してリモートMySQLデータベースにアクセス
- 21. 静的リストからオブジェクトを照会サーバー上のCPU使用率が急上昇している
- 22. 行セットは、私は以下のコードを使用してMySQLデータベースを照会しようとしています
- 23. ハイライトを使用してフレーズクエリを照会
- 24. MySQLデータベースを使用したPython Webクローラー
- 25. Flex/AIRアプリケーションを使用したSQLiteデータベースの照会
- 26. DNS TXT非デフォルトDNSサーバーを使用したレコード照会
- 27. サーブレットを使用したリモートMySQLデータベースへのJavaの接続
- 28. リモートWebサーバーのコンパイル?
- 29. JSONフィールドを使用してMySQLテーブルを照会し、JSON属性にアクセスする
- 30. asp.netを使用してMySQLデータベースを照会するか、wordpressからasp.netにデータを送信する
リモートサーバーのmysqlポートに外部から接続できますか?もしそうなら、他のmysqlサーバと同じようにサーバに接続することができます。 –
これは、PHPでSSH2コードを使用する必要があると私は思っています。私は以前にそれをしていないので、それがうまくいくかどうかは分かりません。私は、SSH2が行く方法であるかどうかを判断するのに時間をかけすぎる前に、誰かがこれまでと同じようなことをしているのを見て、正しい方向に向けることができると考えました。私はcURLを調べ始めましたが、私が見たものから、私はそれが必要なことをするとは思いません。これまでのところ、私はSSH2でデータベースに接続してみる必要があると思っています。そして、接続したらクエリを実行できるかどうかを確認します。 – kheugel
MySQLの接続プロトコルはSSL暗号化を許可しています。 mysqlポートを世界に公開したくない場合を除き、SSHやトンネリングを使う必要はありません:http://dev.mysql.com/doc/refman/5.0/en/secure-using- ssl.html –