如何通过SSH从C#连接到mysql

use*_*456 8 .net c# mysql database connection-string

如何通过C#连接到mysql数据库,

这是我的连接字符串:

connectionString="server=localhost;port=3306;user id=root;Password=*****;database=Data" providerName="MySql.Data.MySqlClient"
Run Code Online (Sandbox Code Playgroud)

如何将SSH字符串放在这种形式,因为它需要是这样的:

SSH主机名,SSH用户名,SSH密码,Mysql主机名,Mysql用户名,Mysql密码,端口

Mar*_*SIO 7

我不认为MySql和MySqlClient支持这样的事情.连接字符串专门用于数据库.您将需要一个SSH客户端首先连接到SSH服务器,然后找到一种方法来通过该隧道路由Sql连接.

http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

我认为没有用于处理SSH连接的Microsoft .Net库,但Code Plex上有一个可能有用的开源项目.

http://sshnet.codeplex.com/


小智 5

        // using Renci.sshNet 

        PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo(hostAdres, hostNaam, wachtwoord);
        connectionInfo.Timeout = TimeSpan.FromSeconds(30);
        var client = new SshClient(connectionInfo);
        client.Connect();
        ForwardedPortLocal portFwld = new ForwardedPortLocal("127.0.0.1", Convert.ToUInt32(hostpoort), DataBaseServer, Convert.ToUInt32(remotepoort)); client.AddForwardedPort(portFwld);
        portFwld.Start();
        
        var connection = new MySqlConnection("server = " + "127.0.0.1" + "; Database = database; password = PWD; UID = yourname; Port = 22");
        connection.Open();
Run Code Online (Sandbox Code Playgroud)