1

SlashDB REST API で MySQL データベースにクエリを実行しようとしていますが、これは SSH 経由で接続する必要があります。

SlashDB のテンプレートには DB ユーザー名とパスワードの場所がありますが、SSH / OS ユーザー名とパスワードのオプションがないため、接続文字列は成功しません。

ウィザード

この例の文字列を微調整して、必要かつ十分な詳細を含めるにはどうすればよいですか?

8.8.8.8:3306/somename

これは、次の JSON に関連付けられています (JSON を直接編集できないことに注意してください)。

{
    "db_encoding": "utf-8",
    "owners": [
        "admin",
        "user",
        "root"
    ],
    "execute": [
        "admin",
        "user",
        "root"
    ],
    "creator": "admin",
    "read": [
        "admin",
        "user",
        "root"
    ],
    "db_type": "mysql",
    "autoload": true,
    "write": [
        "admin",
        "user",
        "root"
    ],
    "connect_status": "Disconnected",
    "connection": "8.8.8.8:3306/somename",
    "sysuser": {
        "dbuser": "user",
        "dbpass": "pw"
    },
    "db_schema": "somename",
    "offline": true,
    "alternate_key": {},
    "desc": "blah blah blah"
}

接続文字列を直接編集できるので、先頭に追加しようとuser@しましたが、役に立ちませんでした。

4

1 に答える 1

1

SlashDB には、MySQL への SSH 接続が組み込まれていません。ただし、回避策があります。

  1. SlashDB ホストからデータベース ホストへの SSH トンネルを確立します。この例では、ローカル ポート 3307 を使用しています。

    ssh -f user@XX.XX.XX.XX -L 3307:mysql1.example.com:3306 -N

  2. GUI で接続文字列を次のように構成します。

    • データベース ホスト: localhost
    • データベース ポート: 3307
    • 他のパラメータは以前と同じ

参照: SSH トンネルを介した MySQL 接続 - 他の MySQL サーバーを指定する方法

そうは言っても、通常、MySQL サーバーを公開せずに公開 REST API を許可するパターンは、データベースと同じサブネットに SlashDB をインストールすることです。次に、SlashDB ホストのファイアウォールでポート 80 と 443 を開きます。これにより、SlashDB から MySQL への接続の最大のパフォーマンスも保証されます。

于 2016-06-13T21:41:32.723 に答える