The goal is to establish a connection between a web page (.NET/C#) and a remote MySQL database over an SSH connection.
Your provided code successfully connects to MySQL Workbench over SSH using the correct credentials and port configuration. However, it fails to retrieve data from the remote server.
The following code addresses the issue and allows you to connect to the remote MySQL database and retrieve data:
<code class="csharp">using(var client = new SshClient("ssh server id", "sshuser", "sshpassword")) { client.Connect(); if (client.IsConnected) { var portForwarded = new ForwardedPortLocal("127.0.0.1", 3306, "127.0.0.1", 3306); client.AddForwardedPort(portForwarded); portForwarded.Start(); using (MySqlConnection con = new MySqlConnection("SERVER=127.0.0.1;PORT=3306;UID=someuser;PASSWORD=somepass;DATABASE=Dbname")) { using (MySqlCommand com = new MySqlCommand("SELECT * FROM cities", con)) { com.CommandType = CommandType.CommandText; DataSet ds = new DataSet(); MySqlDataAdapter da = new MySqlDataAdapter(com); da.Fill(ds); foreach (DataRow drow in ds.Tables[0].Rows) { Console.WriteLine("From MySql: " + drow[1].ToString()); } } } client.Disconnect(); } else { Console.WriteLine("Client cannot be reached..."); } }</code>
The above is the detailed content of How to Connect to a Remote MySQL Database from .NET Using SSH.NET Library and Retrieve Data?. For more information, please follow other related articles on the PHP Chinese website!