0

SSH トンネル経由で C インターフェイスを使用して mySQL サーバーに接続しようとしています。

私が現在行っているのは、SSH トンネルを開くことです。

ssh user@IP -L 10293:127.0.0.1:3306

そしてコードで:

    MYSQL *conn = mysql_init(NULL);
    mysql_real_connect(conn, "localhost", "username", "password", "production", 10293, NULL, 0);

    unsigned int error = mysql_errno(conn);

接続直後にエラー 2002 が表示されます。エラー 2002 は「ソケット経由でローカル MySQL サーバーに接続できません」です。しかし、接続でソケットを指定しなかったのに、ソケット経由で接続しようとするのはなぜですか?

他に何がうまくいかない可能性がありますか?

もちろん、ユーザー名、パスワード、テーブル名は何度もチェックされています。

4

1 に答える 1

1

実際のlocalhostではなくIP自体をバインドしていたため、アドレスとして「localhost」ではなく「127.0.0.1」を指定する必要がありました。

于 2012-08-20T14:16:13.397 に答える