Bạn phải kết nối MySQL với cổng ràng buộc của chuyển tiếp. I E. đến năm 2222.
Hoặc đúng hơn về mặt ngữ nghĩa, hãy sử dụng portFwld.BoundPort
. Tương tự, hãy sử dụng portFwld.BoundHost
.
DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
Cũng lưu ý rằng sẽ có ý nghĩa hơn khi gọi máy chủ MySQL là "localhost", thay vì "example.com", vì tên máy chủ được phân giải ở phía máy chủ. Và khi ở phía máy chủ, bạn thường sẽ không kết nối với "example.com" mà với "localhost".
var portFwld = new ForwardedPortLocal(IPAddress.Loopback.ToString(), 2222, "localhost", 3306);
Và tất nhiên bạn cần giữ phiên SSH mở trong khi bạn cần đường hầm. Vì vậy, bạn phải kết nối với DB trong using
khối:
using (var client = new SshClient(connectionInfo))
{
...
client.Connect();
...
portFwld.Start();
...
DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
}