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

我需要指定“127.0.0.1”而不是“localhost”作为地址,因为我绑定的是 IP 本身,而不是实际的 localhost。

于 2012-08-20T14:16:13.397 回答