Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Tunelowanie SSH połączenia MySQL przy użyciu C#

Musisz podłączyć MySQL do portu związanego z przekierowaniem. Tj. do 2222.

Lub jeszcze bardziej semantycznie poprawny, użyj portFwld.BoundPort . Odpowiednio użyj portFwld.BoundHost .

DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);

Należy również zauważyć, że bardziej sensowne jest odwoływanie się do hosta MySQL jako „localhost”, a nie „example.com”, ponieważ nazwa hosta jest rozwiązywana po stronie serwera. A po stronie serwera zazwyczaj nie łączysz się z „example.com”, ale z „localhost”.

var portFwld = new ForwardedPortLocal(IPAddress.Loopback.ToString(), 2222, "localhost", 3306); 

I oczywiście musisz mieć otwartą sesję SSH, gdy potrzebujesz tunelu. Musisz więc połączyć się z bazą danych w ramach using blok:

using (var client = new SshClient(connectionInfo))
{
    ...
    client.Connect();
    ...
    portFwld.Start();
    ... 
    DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć wiodące białe znaki w MySQL?

  2. W jaki sposób są przechowywane komunikaty Websphere MQ, aby umożliwić ich trwałość?

  3. Błąd MySQL/Amazon RDS:nie masz uprawnień SUPER...

  4. Zapytanie MySQL, które oblicza sumy częściowe

  5. Opcje instrukcji case podzielone na dwie kolumny wyjściowe