我在Rackspace有一个服务器。我想从本地机器命令行访问数据库。

我试过:

mysql -u username -h my.application.com -ppassword

但它给出了一个错误:

错误2003 (hy000): 无法连接MySQL服务器(10061)

导致此错误的原因是什么?如何连接到远程数据库?


当前回答

Mysql服务器通常被配置为只监听本地主机(127.0.0.1),在那里它们被web应用程序使用。

如果这是您的情况,但您有SSH访问服务器,您可以创建一个SSH隧道并通过它进行连接。

在本地机器上创建隧道。

ssh -L 3307:127.0.0.1:3306 -N $user@$remote_host

(这个例子使用本地端口3307,如果你也有mysql在你的本地机器上运行,并使用标准端口3306)

现在你应该可以连接了

mysql -u $user -p -h 127.0.0.1 -P 3307

其他回答

我假设您的机器上已经安装了MySQL。填写完缺失的细节后执行以下命令:

mysql -uUSERNAME -pPASSWORD -hHOSTNAME -P3306 

对于Mac,使用以下命令:

mysql -u app -h hostaddress -P port -D dbname -p

然后在提示时输入密码。

必须检查对3306端口的传入访问是否被防火墙阻止。

有一个简单的命令。

mysql -h {hostip} -P {port} -u {username} -p {database}

例子

mysql -h 192.16.16.2 -P 45012 -u rockbook -p rockbookdb

要直接登录远程mysql控制台,使用下面的命令:

mysql -u {username} -p'{password}' \
    -h {remote server ip or name} -P {port} \
    -D {DB name}

例如

mysql -u root -p'root' \
        -h 127.0.0.1 -P 3306 \
        -D local

在命令行文档中的“使用选项”中指定的-p后没有空格

它将通过切换到上述数据库直接带您到mysql控制台。