[英]Can't connect to mysql database with ssh client
我想将SSH通道连接到服务器上的mysql数据库。
我已经下载了这个SSH.Net库。
这是我尝试过的方法,我认为在建立安全连接后它将可以使用。
我的SSH连接已建立,但未执行与数据库的正常连接。
所以请检查我的代码:
using (var client = new SshClient("cpanel****", "******", "******"))
{
client.Connect();
con = new MySqlConnection(GetConnectionString());
con.Open();
cmd = new MySqlCommand(String.Format("insert into {0} values (null, ?Parname , ?Parname2, ?Parname3, ?Parname4, ?Parname5, ?Parname6, ?Parname7);", ConfigSettings.ReadSetting("main")), con);
cmd.Parameters.Add("?Parname", MySqlDbType.Double).Value = Math.Round(deciLat, 5);
// ... more parameters
cmd.ExecuteNonQuery();
client.Disconnect();
}
这是一个教程http://georgelantz.com/2007/09/10/access-mysql-through-ssh-tunnel-in-a-windows-net-application/ ,听起来很合理。
基本思想是与隧道建立SSH连接(即端口转发),然后将MySQL连接指向本地主机。
SSH隧道将到localhost:XX的连接重定向到ssh服务器端口:YY。 因此,您的端口YY将是mysql连接端口,并且在您的连接字符串中,您将使用localhost:XX。
您正在使用的SSH库似乎也支持端口转发,因此您也可以使它正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.