【发布时间】:2012-08-15 12:09:20
【问题描述】:
我正在尝试通过 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 服务器”。但是,为什么我没有在连接中指定任何套接字时尝试通过套接字连接?
还有什么可能出错的?
用户名、密码和表名当然已经检查过多次了。
【问题讨论】:
-
它基本上告诉你它无法连接。套接字无处不在:en.wikipedia.org/wiki/Internet_socket 我的猜测是你没有足够的权限连接到 MySQL 主机。
-
谢谢,知道了。我需要指定“127.0.0.1”而不是“localhost”,因为我绑定到该 IP 和实际的 localhost。