繁体   English   中英

如何连接到需要SSH的远程Mysql服务器?

[英]How to connect to Remote Mysql server that requires SSH?

不知道这是问这个地方的地方,但是我试图连接到我具有完全访问权限的服务器。 我可以从Web登录到phpMyAdmin,但是当我尝试从C#连接到它时,它不起作用。 它特别显示以下错误:

无法连接到任何指定的mysql主机

这是我正在使用的连接字符串:

string mycon = "server=someIP;port=3306;uid=user;pwd=pwd;database=mydb;Convert Zero Datetime=True";

我认为这是因为服务器需要SSH。 有什么方法可以禁用该连接的SSH要求?

如果关闭了端口3306,则将无法从远程主机进行连接。 PHPmyadmin之所以有效,是因为它与mysql服务器(我假设)在同一台计算机上运行,​​因此它不是从远程主机进行连接。 您需要打开端口3306并将mysql配置为侦听端口3306,或者提到您拥有ssh,这将打开另一个选项。

如果您无法向公众开放3306,则可以创建到服务器的ssh隧道,该隧道将mysql服务器上的3306转发到本地计算机上的某个端口(例如3307),然后配置C#以连接到该本地计算机港口。

string mycon = "server=localhost;port=3307;uid=user;pwd=pwd;database=mydb;Convert Zero Datetime=True";

这是如何用腻子转发端口的示例。 http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html

另外,检查ip上开放端口的最简单方法是使用类似nmap的端口扫描程序。 我假设您正在使用Windows,因为您正在使用C#。 这里有Windows GUI客户端: http : //nmap.org/zenmap/

我终于通过更改my.cnf中的mysql配置解决了这个问题

以前是:

绑定地址= 127.0.0.1

然后我将其更改为

绑定地址= 0.0.0.0

重新启动mysql服务,一切都很好:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM