【问题标题】:SSH, connect and exec mysql querySSH,连接和执行mysql查询
【发布时间】:2012-07-29 05:27:22
【问题描述】:

我正在使用mysql客户端

using MySql.Data.MySqlClient;

如何在 SSH 隧道上运行连接?


我创建 ssh 连接使用 SharpSsh

SshExec exec = new SshExec("host", "user");
exec.Password = "pass";

Console.Write("Connect...");
exec.Connect(22);
Console.WriteLine("OK");
string output = exec.RunCommand("mysql -p pass -u user db -h host;");
if (output == "")
   Console.WriteLine("error");
Console.WriteLine(output);

但是为什么我写了很多代码可以,通过客户端可以立即建立ssh连接,对吧?

请帮忙:)

【问题讨论】:

    标签: c# mysql unix ssh


    【解决方案1】:

    您应该只使用端口转发,而不是通过 SSH 打开 shell。关注 SharpSSH 主页上的 port forwarding example。完全不需要在远程服务器上运行mysql 命令。

    示例中的魔法线是这样的:

    session.setPortForwardingL(lport, rhost, rport);
    

    它将创建一个从本地计算机上的端口lportrhost 上的端口rport 的隧道。隧道启动后,只需使用 localhostlportMySqlClient 与连接字符串连接起来。即使您连接到本地机器,连接也会通过隧道转发到远程端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 2015-02-06
      • 2012-02-06
      • 1970-01-01
      • 2010-11-13
      • 2010-11-06
      相关资源
      最近更新 更多