我在Rackspace有一个服务器。我想从本地机器命令行访问数据库。
我试过:
mysql -u username -h my.application.com -ppassword
但它给出了一个错误:
错误2003 (hy000): 无法连接MySQL服务器(10061)
导致此错误的原因是什么?如何连接到远程数据库?
我在Rackspace有一个服务器。我想从本地机器命令行访问数据库。
我试过:
mysql -u username -h my.application.com -ppassword
但它给出了一个错误:
错误2003 (hy000): 无法连接MySQL服务器(10061)
导致此错误的原因是什么?如何连接到远程数据库?
当前回答
试试这个,它的工作:
mysql -h {hostname} -u{username} -p{password} -N -e "{查询执行}"
其他回答
我也犯了同样的错误。 但发现它有用的是在远程mysql服务器上创建新的mysql用户,然后连接。在远程服务器上执行以下命令:
CREATE USER 'openvani'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'localhost WITH GRANT
OPTION;
CREATE USER 'openvani'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
现在你可以用下面的命令连接远程mysql。
mysql -u openvani -h 'any ip address'-p
以下是全文:
http://openvani.com/blog/connect-remotely-mysql-server/
简单地把这个放在ubuntu的终端上:
mysql -u username -h host -p
现在按回车键
终端会询问你的密码,输入密码,你就进入了数据库服务器
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
尝试Telnet 3306。如果它没有打开连接,要么有防火墙设置,要么服务器没有监听(或没有工作)。 在服务器上运行netstat -an查看服务器是否启动。 有可能您不允许远程连接。
详情见:
如何开启远程访问MySQL数据库服务器?
必须检查对3306端口的传入访问是否被防火墙阻止。