簡體   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